2013-12-17 19 views
0

我正在尝试创建我的城市地图,但默认地图太小。我不想做任何缩放(但),但我想要显示的大小加倍。D3:是否有一种简单的方法来静态放大地图?

这里是脚本

var projection; 
var w=1200; 
var h=800; 
var x=-14100; 
var y=7300; 
var scale=66700; 

projection=d3.geo.albers() 
.translate([x,y]) 
.scale([scale]); 
var path=d3.geo.path() 
.projection(projection); 
var svg=d3.select("#data-div") 
.append("svg") 
.attr("width",w) 
.attr("height",h); 
var category; 

// GROUPS 

var paths = svg.append("g"), 
circles = svg.append("g"); 

// TORONTO MAP JSON 

d3.json("d3_files/json/new-toronto.json",function(error, data){ 
paths.selectAll("path") 
.data(data.features) 
.enter() 
.append("path") 
.attr("d",path) 
.attr("name",function(data){ 
    return"<strong>name</strong>" 
}) // end name attr 
.style("fill",function(data){ 
    return"lightgrey"; 
}) // end fill style 
.style("stroke","#000") 
}); // end toronto json 
+1

[这个问题](http://stackoverflow.com/questions/14492284/center-a-map- in-d3-given-a-geojson-object)应该有所帮助。 –

+0

拉尔斯,非常感谢你,当我看到亚当的评论如下时,我总结了这个提示。我现在只是试了一下,它完美的工作! – PatriciaW

回答

1

的提取物代替:

var scale=66700; 

做:

var scale= 33350; 

这将 '变焦' 投影出来。从API

比例因子线性对应于 投影点之间的距离

+0

在发布此问题之前,我曾尝试过。如果我将其更改为该值,地图会完全消失。如果我进行较小的更改,所发生的只是地图移动。 – PatriciaW

+0

您可能想发布一个jsfiddle或bl.ocks –

+0

我从来没有使用过jsfiddle ......我创建了一个帐户并发布了我的代码,但我不确定这是您要求的。 http://jsfiddle.net/PatriciaW/xxAJn/ – PatriciaW

相关问题