我希望通过d3在leaflet地图上呈现来自.json
文件的点。我找到的唯一三篇有前途的文章是:http://bost.ocks.org/mike/leaflet/;
http://bl.ocks.org/sumbera/10463358 and
然而,我无法将其应用到我的问题上。 第一个链接使用多边形实现了这一点,而第二个链接过于复杂。第三个链接似乎不起作用... 这就是我得到的结果。<html>
<head>
<title>A Leaflet map!</title>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css"/>
<script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
<script src="d3.min.js" charset="utf-8"></script>
<style>
#map{ height: 100% }
</style>
</head>
<body>
<div id="map"></div>
<script>
// initialize the map
var map = L.map('map').setView([42.35, -71.08], 13);
// synchroize d3 and leaflet
var svg = d3.select(map.getPanes().overlayPane).append("svg"),
g = svg.append("g").attr("class", "leaflet-zoom-hide");
// but how to draw the points on the map?!
// load a tile layer
L.tileLayer('http://stamen-tiles-{s}.a.ssl.fastly.net/toner/{z}/{x}/{y}.{ext}', {
minZoom: 0,
maxZoom: 20,
ext: 'png'
}).addTo(map);
</script>
</body>
</html>
我的问题是:我应该如何从
.json
中提取所需的信息,然后将其用作 .svg
,并在我的 leaflet 地图上叠加呢?城市数据来自:使用 Natural Earth 制作。免费矢量和栅格地图数据 @ naturalearthdata.com。