我创建了一个代码的jsfiddle,我不知道为什么标记没有显示。
var map = L.map('map', {
center: [8.99665, 38.81573],
zoom: 13,
});
var addis = L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
id: 'addis',
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
}).addTo(map);
var aa = {
"type": "Feature",
"properties": {
"name": "Megenagna",
},
"geometry": {
"type": "Point",
"coordinates": [9.019720, 38.802933]
}
};
new L.GeoJSON(aa).addTo(map);
以下是jsfiddle网址:http://jsfiddle.net/m2ju1m3v/
拜托,有人可以对此有所了解吗? 谢谢!
答案 0 :(得分:5)
GeoJSON中的坐标被指定为[longitude, latitude]
形式的数组,与Leaflet相反,它是[latitude, longitude]
。
所以你应该简单地将坐标改为:
"coordinates": [38.802933, 9.019720]
更新了jsfiddle:http://jsfiddle.net/m2ju1m3v/2/
注意:请使用Leaflet版本0.7.7而不是0.6.4。
答案 1 :(得分:1)
实际上,添加了标记,但它位于Sardina(意大利)的南部。这是因为GeosJON坐标顺序:第一个longitude
,第二个latitude
。
为什么使用GeoJSON添加标签?您可以使用marker
方法来实现它:
new L.marker([8.99665, 38.81573]).addTo(map);