我正在尝试绘制USGS地震数据,并且遇到了一个非常奇怪的问题。我的查询会获取所有结果并绘制第一个结果,但其余结果会附加在地图顶部。
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结果时,我得到:
答案 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]])