私はnycMapを作成しました。これは、angularJS(MVC)、yeoman(ビルド)、d3(マッピング)、geoJSON(地理データ)を使用するプロジェクトです。
すべてが非常にうまく機能しますが、適切なスケールと翻訳を取得するためにかなりの時間を費やす必要がありました。マップが最適な縮尺でどのスケールで表示され、どのx値とy値が変換に含まれるかを自動的に把握するにはどうすればよいでしょうか。
'use strict';
japanAndCo2App.controller('MainCtrl', function($scope) {
function makeJapanAll(){
var path, vis, xy;
xy = d3.geo.mercator().scale(16000).translate([-5600,2200]);
path = d3.geo.path().projection(xy);
vis = d3.select("#japanAll").append("svg:svg").attr("width", 1024).attr("height", 700);
d3.json("data/JPN_geo4.json", function(json) {
return vis.append("svg:g")
.attr("class", "tracts")
.selectAll("path")
.data(json.features).enter()
.append("svg:path")
.attr("d", path)
.attr("fill",function(d,i){ return d.properties.color || "transparent"});
});
}
makeJapanAll();
});
(コードに興味がある場合は、すべてgithubにあります。マップのコードはscripts / controllers / main.jsにあり、上記と同じです。)