我正在尝试计算如何在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
})
});
但不,它是sais TypeError:undefined不是函数
导致所有麻烦的是the new ol.geom.Point(ol.proj.transform([58.4108600, 15.6215700], 'EPSG:4326', 'EPSG:3857'))
,这几乎是任何一个例子“使用var lonlat = new OpenLayers.LonLat ......”
感谢
答案 0 :(得分:1)
我也在寻找这个功能,我在他们网站上的一些例子中找到了它。
您可以使用ol.proj.fromLonLat([19.062072, 47.473478])
。
http://openlayers.org/en/v3.13.1/apidoc/ol.proj.html#.fromLonLat
答案 1 :(得分:0)
ol.View center属性期望输入ol.Coordinate类型的对象。这基本上是一个带有lon / lat的数组(例如[-13553864,5918250])你所做的是使用ol.geom.Point类型的Object作为中心属性。简单传递为中心:
ol.proj.transform([58.4108600,15.6215700],'EPSG:4326','EPSG:3857')
它应该有用。