以下是一个使用d3和leaflet遍历JSON以获取地理坐标的示例代码:
// 创建地图
var map = L.map('map').setView([51.505, -0.09], 13);
// 添加地图图层(使用OpenStreetMap作为底图)
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: 'Map data © OpenStreetMap contributors',
maxZoom: 18,
}).addTo(map);
// 加载JSON数据
d3.json('data.json').then(function(data) {
// 遍历JSON数据
data.features.forEach(function(feature) {
// 获取地理坐标
var coordinates = feature.geometry.coordinates;
// 创建标记
var marker = L.marker([coordinates[1], coordinates[0]]).addTo(map);
// 添加标记的弹出窗口
marker.bindPopup(feature.properties.name);
});
});
在这个示例中,我们首先创建了一个Leaflet地图,并添加了一个OpenStreetMap图层作为底图。然后,我们使用d3的d3.json
函数加载JSON数据。一旦数据加载完成,我们使用forEach
方法遍历数据的每个要素。对于每个要素,我们获取其地理坐标并创建一个Leaflet标记。最后,我们将标记添加到地图上,并为每个标记添加一个弹出窗口显示要素的名称。
请注意,示例中的代码仅演示了如何遍历JSON数据和获取地理坐标,并添加到Leaflet地图中。您需要根据您自己的数据格式和需求进行适当的修改。