Map d3.js映射显示为空
这让我抓狂,我不知道我的错误在哪里,在json文件中(看起来不像),加载地图的代码,甚至应用的颜色。 我已经比较过了,这对我来说是可行的,我只是替换坐标、json映射文件和我要显示的区域的标记,瞧,不起作用,呵呵 这是我的html+js:Map d3.js映射显示为空,map,d3.js,topojson,Map,D3.js,Topojson,这让我抓狂,我不知道我的错误在哪里,在json文件中(看起来不像),加载地图的代码,甚至应用的颜色。 我已经比较过了,这对我来说是可行的,我只是替换坐标、json映射文件和我要显示的区域的标记,瞧,不起作用,呵呵 这是我的html+js: <!DOCTYPE html> <meta charset="utf-8"> <style> path { stroke: green; stroke-width: 0.25px; fill: grey; } &
<!DOCTYPE html>
<meta charset="utf-8">
<style>
path {
stroke: green;
stroke-width: 0.25px;
fill: grey;
}
</style>
<body>
<!--<script src="http://d3js.org/d3.v3.min.js"></script>-->
<!--<script src="http://d3js.org/topojson.v0.min.js"></script>-->
<script type="text/javascript" src="js/d3.v3.js"></script>
<script src="js/topojson.v0.min.js"></script>
<script>
var width = 960,
height = 500;
var projection = d3.geo.mercator()
.center([-3.5,40.5])
.scale(40000)
// .scale(900)
// .rotate([-180,0]);
var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);
var path = d3.geo.path()
.projection(projection);
var g = svg.append("g");
//d3.json("maps/world-110m2.json", function(error, topology) {
//d3.json("maps/prov_37.json", function(error, topology) {
//d3.json("maps/prov_40.json", function(error, topology) {
d3.json("maps/prov_28.json", function(error, topology) {
g.selectAll("path")
// .data(topojson.object(topology, topology.objects.countries)
// .data(topojson.object(topology, topology.objects.prov_40)
// .data(topojson.object(topology, topology.objects.prov_37)
.data(topojson.object(topology, topology.objects.prov_28)
.geometries)
.enter()
.append("path")
.attr("d", path)
});
var zoom = d3.behavior.zoom()
.on("zoom",function() {
g.attr("transform","translate("+
d3.event.translate.join(",")+")scale("+d3.event.scale+")");
g.selectAll("path")
.attr("d", path.projection(projection));
});
svg.call(zoom)
</script>
</body>
</html>
我只查看了一个json文件,
prov_28_topo.json
,它不是有效的json
你有{“类型”:“拓扑”,“变换”:{“比例”:[0.0007357596319631963,0.0004301291039103907],“翻译”:[-4.57907617,38.02244023],“对象”:{“prov_28:{“类型”
应该是:
{“类型”:“拓扑”,“变换”:{“比例”:[0.0007357596319631963,0.0004301291039103907],“转换”:[-4.57907617,38.02244023],“对象”:{“prov_28”:{“类型”
这是
\u 28
之后的引用。更改使一切正常。你是对的,但从中我发现了真正的问题,我对文件和ID使用了相同的名称,而文件实际上是不同的,它以“\u topo”结尾。我已经查看了几个小时,找不到这样的noob错误。谢谢!!
},
"objects": {
"prov_28": {
"type": "GeometryCollection",
"geometries": [{