Openlayers 3 OpenLayers.LonLat在3.4中缺失
我想知道如何在OpenLayers中使用GPS坐标 很多老帖子都提到了Openlayers 3 OpenLayers.LonLat在3.4中缺失,openlayers-3,Openlayers 3,我想知道如何在OpenLayers中使用GPS坐标 很多老帖子都提到了新的OpenLayers,这在3.4版本中是不可用的,因为所有内容都嵌入了ol中。 我想这应该是可以做到的 var map = new ol.Map({ target: 'map', layers: [ new ol.layer.Tile({ source: new ol.source.BingMaps({ key: '',
新的OpenLayers
,这在3.4版本中是不可用的,因为所有内容都嵌入了ol中。
我想这应该是可以做到的
var map = new ol.Map({
target: 'map',
layers: [
new ol.layer.Tile({
source: new ol.source.BingMaps({
key: '',
imagerySet: 'Aerial'
})
})
],
//projection: "EPSG:4326",
//displayProjection: "EPSG:3857",
view: new ol.View({
//center: [-13553864, 5918250],
center: new ol.geom.Point(ol.proj.transform([58.4108600, 15.6215700], 'EPSG:4326', 'EPSG:3857')),
zoom: 4
})
});
但不,这是TypeError:undefined不是一个函数
正是新的ol.geom.Point(ol.proj.transform([58.4108600,15.6215700],'EPSG:4326','EPSG:3857')造成了所有的麻烦,几乎所有的例子都说“使用var lonlat=new OpenLayers.lonlat…”
感谢使用ol.View center属性,希望输入一个ol.Coordinate类型的对象。这基本上是一个包含lon/lat的数组(例如[13553864,5918250]),您要做的是使用类型为ol.geom.Point的对象作为中心属性。以简单传球为中心: ol.proj.transform([58.4108600,15.6215700],“EPSG:4326”,“EPSG:3857”)
它应该可以工作。我也在寻找这个函数,我在他们网站上的一些示例中找到了它 您可以使用LONLAT([19.062072,47.473478])中的ol.proj
旧链接:Hmm,这很有效,但中心是非常错误的。我应该使用EPSG:3011,但是更换投影不起作用,可能你弄错了lat/lon。我在第一篇文章中写错了。ol.坐标数组的结构为[lon,lat]。“那个中心应该在哪里?”杰克门特,这是不对的。ol.坐标的结构为[x,y]。如果您的投影是EPSG:4326(WGS84地理坐标),那么x将是经度,y将是纬度。@Eric Herlitz EPSG:3011仅在包含Proj4js时由OpenLayers 3支持。看看这个例子,看看如何使用Proj4js。@ahocevar啊,好的,谢谢。lat lon总是有同样的问题:)