我正试图弄清楚如何在OpenLayers 中使用GPS坐标
很多旧的帖子都提到了new 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不是的函数
正是the new ol.geom.Point(ol.proj.transform([58.4108600, 15.6215700], 'EPSG:4326', 'EPSG:3857'))
造成了所有的麻烦,几乎任何例子都会说"use var lonlat=new OpenLayers.lonlat…"感谢
我也在寻找这个函数,我在他们网站上的一些例子中找到了它。
您可以使用ol.proj.fromLonLat([19.062072, 47.473478])
。
https://openlayers.org/en/latest/apidoc/module-ol_proj.html#.fromLonLat旧链接:http://openlayers.org/en/v3.13.1/apidoc/ol.proj.html#.fromLonLat
。View center属性需要ol类型的对象作为输入。坐标这基本上是一个包含lon/lat的数组(例如[-135538645918250])。您所做的是使用ol.geom.Point类型的Object作为中心属性。以简单传球为中心:
ol.proj变换([58.4108600,15.62157000],'EPSG:4326','EPSG:3857')
它应该起作用。