/**
* gisjson to path
**/
d3.jsonToPath = function (url, callback) {
d3.json(url, function (result) {
//var pro = d3.geo.azimuthalEquidistant().scale(20).translate([-100, 700]);
//放大的倍数与偏移量成比例 如放大的倍数为20000 那偏移量为[-40580,1380]
//bj.geojson 0.005
var scale = 10000; //放大的倍数
var translate = [-20290, 690]; //偏移量
// cs.geojson
//var scale = 500; //放大的倍数
//var translate = [-500, 500]; //偏移量
var pro = d3.geo.equirectangular();
pro.scale(scale).translate(translate);
var path = d3.geo.path().projection(pro)
, pathes = [];
for (var i = 0; i < result.features.length; i++) {
pathes.push({
name: result.features[i].properties.name || result.features[i].properties.NAME,
path: path(result.features[i]),
data: result.features[i]
});
};
if (callback) {
callback.call(this, pathes);
};
});
};
//用法
d3.jsonToPath("bj.geojson", function (data) {
var raphael = Raphael("map",100000,500000);
map.drawMap(data, raphael);
});
d3js 转换geojson为path
最新推荐文章于 2023-10-15 14:59:07 发布