传单js-GeoJSON层未显示

Leafletjs - GeoJSON layer not showing

本文关键字:显示 js-GeoJSON 传单      更新时间:2023-09-26

我已经创建了代码的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: '&copy; <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 url:http://jsfiddle.net/m2ju1m3v/

拜托,有人能照一下吗?谢谢

GeoJSON中的坐标被指定为形式为[longitude, latitude]的数组,而Leaflet中的坐标是[latitude, longitude]

因此,您只需将坐标更改为:

"coordinates": [38.802933, 9.019720]

更新的jsfiddle:http://jsfiddle.net/m2ju1m3v/2/

注意:请使用传单版本0.7.7,而不是0.6.4。

实际上,添加了标记,但它位于萨迪纳(意大利)以南。这是因为GeosJON的坐标顺序:第一个longitude,第二个latitude

为什么使用GeoJSON只添加一个标签?只需使用marker方法即可实现:

new L.marker([8.99665, 38.81573]).addTo(map);