【发布时间】:2016-01-29 20:43:49
【问题描述】:
我正在尝试在地图上放置一系列 topoJSON,但我遇到了多边形的这种奇怪行为,请参阅下面的链接。 如果我尝试将它们转换为 geoJSON 并将它们可视化,我会遇到同样的问题。 您可以查看here,不幸的是,由于对我必须做的外部调用的 ajax 调用,我无法创建 JS 小提琴。我把代码贴在这里:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>TopoJSON data</title>
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<script src='https://api.tiles.mapbox.com/mapbox.js/v2.1.9/mapbox.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox.js/v2.1.9/mapbox.css' rel='stylesheet' />
<style>
body { margin:0; padding:0; }
#map { position:absolute; top:0; bottom:0; width:100%; }
path {
stroke-width:1;
stroke-opacity:0.25;
opacity:0.4;
}
</style>
</head>
<body>
<script src='https://api.tiles.mapbox.com/mapbox.js/plugins/leaflet-omnivore/v0.2.0/leaflet-omnivore.min.js'></script>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://d3js.org/topojson.v1.min.js"></script>
<div id='map'></div>
<script>
L.mapbox.accessToken = 'MY-ACCESS-TOKEN';
var map = L.mapbox.map('map', 'mapbox.streets').setView([40, -80], 5);
d3.json("topoJSON_noPoints.json", function(error, topology) {
var geodata = topojson.feature(topology, topology.objects.collection)
console.log(geodata)
L.geoJson(geodata, { style: L.mapbox.simplestyle.style }).addTo(map);
});
</script>
</body>
</html>
你有没有遇到过类似的问题? 谢谢!
【问题讨论】:
标签: javascript mapbox geojson topojson