我遇到了一个任务,需要使用 leaflet js 库和 geojson 作为数据存储。几乎立即,遇到了以下问题:从 geojson 对象创建的多边形不显示在地图上。而由本机传单方法创建的多边形则完美地工作。
这是我的代码:
var map = new L.Map('map');
var bingLayer = new L.BingLayer('AhVaalRWmmprMAMHj6lw18ALO-iVnIGzvkq7gYAX3U_bisCT8Q_lgGV25YOa0kiV', 'Aerial');
map.setView(new L.LatLng(51.505, -0.09), 13).addLayer(bingLayer);
var polygon = {
"type": "Feature",
"properties": {
"style": {
"color": "#004070",
"weight": 4,
"opacity": 1
}
},
"geometry": {
"type": "Polygon",
"coordinates": [[
[51.509, -0.08],
[51.503, -0.06],
[51.51, -0.047],
[51.509, -0.08]
]]
}
};
var geojsonLayer = new L.GeoJSON(polygon);
map.addLayer(geojsonLayer);
正如您所看到的,它几乎复制了传单提供的示例。并且不起作用。我完全被这个麻烦困扰了,非常感谢任何帮助。
问题是在GeoJSON
规格,坐标应以形式传递[lon, lat]
而传单使用[lat, lon]
为其对象。只需将其更改为[-008, 51.509]
等等,你应该没问题。 :)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)