OpenLayers.LonLat missing in 3.4



我正试图弄清楚如何在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')

它应该起作用。

相关内容

最新更新