Mapbox-地图顶部的新L.markers

时间:2018-07-08 03:00:36

标签: jquery json leaflet mapbox

我正在尝试绘制USGS地震数据,并且遇到了一个非常奇怪的问题。我的查询会获取所有结果并绘制第一个结果,但其余结果会附加在地图顶部。

enter image description here

function getEarthquakes(){
    jQuery.ajax({
        type: "GET",
        dataType: "json",
        url: "data/earthquakes-today.json",
        error: function (err) { console.log(err)},
        success: function (results, status, xhr) {
            jQuery(results.features).each(function(index, i) {
                L.marker([i.geometry.coordinates[0], i.geometry.coordinates[1]]).bindPopup(i.geometry.coordinates[0]+", "+i.geometry.coordinates[1]).addTo(map);
            });
        }
    })
}

有什么想法会导致这种情况吗?没有控制台日志错误,当我console.log结果时,我得到:

enter image description here

1 个答案:

答案 0 :(得分:0)

Plotting geojson points in html中所述,您只是以错误的顺序使用坐标。

鉴于显示的数据,您似乎在results中收到了一系列GeoJSON功能。在这种情况下,您可以将其直接送入L.geoJSON工厂,这将在内部为您颠倒坐标顺序:

L.geoJSON(results).addTo(map)

否则,请确保您自己将它们反转:

//        [latitude                 , longitude]
L.marker(([i.geometry.coordinates[1], i.geometry.coordinates[0]])