传单地理JSON展示
Leaflet GeoJSON display
>我遇到了一个任务,需要使用带有geojson的传单js库作为数据存储。几乎立即遇到以下问题:从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]
的形式传递,而 Leaflet 对其对象使用 [lat, lon]
。只需将其更改为 [-008, 51.509]
等,您应该没问题。:)
我只想补充一些我的观点-
只是一个令人困惑和矛盾的标准问题。
在谈论地理位置时,我们通常使用纬度。
map.setView
以l.LatLong
作为输入,其中第一个 cordinate 是 Latitude
,第二个是 Longitude
。
示例 :- 因此,当您想要52.23N, 4.97E
时,您传入[52.23943, 4.97599]
GeoJSON 标准说,对于任何一点,第一个参数是X Coordinate (i.e. Longitude)
,第二个参数是Y coordinate (i.e. Latitude)
;
因此,当您想51.505N, 0.09E
GeoJSON
时,您需要传递[-0.09, 51.505]
var map = new L.Map('map');
var bingLayer = new L.BingLayer('AhVaalRWmmprMAMHj6lw18ALO-iVnIGzvkq7gYAX3U_bisCT8Q_lgGV25YOa0kiV', 'Aerial');
map.setView(new L.LatLng(-0.09, 51.505), 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);
您可以通过修改此视图来调整视图。
map.setView(new L.LatLng(-0.09, 51.505), 13).addLayer(bingLayer);
自
map.setView(new L.LatLng(-008, 51.509), 13).addLayer(bingLayer);
我认为这个解释会有所帮助!!欲了解更多信息,请单击此处
相关文章:
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 使用JQuery解析JSON嵌套数组
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何使用json将对象列表从java转换为javascript
- 如何使用 node.js 比较两个 json 数组
- 如何将JSON数据导入我的ejs模板
- 区分JSON中的矩阵和列表列表
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 如何为json对象中的段发送array[]
- 根据id将json数组组合为一个json数组
- Json数据包含日期和时间格式
- AngularJS-在JSON选择器中使用变量名
- 传单地理JSON展示