csv形式のデータをグラフ化し、地図上に重畳できます。単数グラフの場合はマーカをクリックするとグラフが表示されます。
グラフを重畳するにはZDC.Graphクラスを利用します。
表示データの例(graph_data.csv)
駅名,緯度,経度,徒歩,路線バス,自転車,タクシー,乗用車,軽乗用車,その他 新松戸,35.82442,139.92081,100,100,100,100,100,100,100 新宿西口,35.69382,139.69901,200,300,516,188,222,62,337 品川シーサイド,35.61068,139.74996,300,200,126,312,188,222,62 光が丘,35.75848,139.62997,378,300,200,126,312,188,222 航空公園,35.79774,139.46627,126,378,300,200,126,312,188 草加,35.82762,139.80339,516,188,378,300,200,126,312 八王子,35.65527,139.3401,222,516,188,378,300,200,126 あざみ野,35.56805,139.55354,312,337,516,188,378,300,200 小田急永山,35.62959,139.44916,62,312,337,516,188,378,300 東京ディズニーランド,35.6357,139.87802,501,62,312,337,516,188,378
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="//d3js.org/d3.v3.min.js"></script>
<script src="//test.api.its-mo.com/v3/loader?key=JSZddc5111626c8|Zo4wz&api=zdcmap.js,control.js,userwidget.js,shape.js" type="text/javascript"></script>
<!-- 取得したgraph.jsを別途インクルードする -->
<script type="text/javascript" src="graph-1.0.js"></script>
<script type="text/javascript">
var graph;
function loadMap() {
var map = new ZDC.Map(
document.getElementById('ZMap'), {
zoom:5,
mapType: ZDC.MAPTYPE_HIGHRES_LV18
}
);
var options = {
data: {
dataUrl: "graph_data.csv",
datum: 'WGS84' // 取り込むcsvデータが世界測地系のためWGS84を指定する
},
graph: {
clickable: true // マーカをクリックすることでグラフを表示する
}
};
graph = new ZDC.Graph(map, options);
map.addWidget(new ZDC.ScaleBar());
map.addWidget(new ZDC.Control());
}
/* セレクトボックスで選択された値に応じてグラフを変更する */
function changeGraph(arg) {
var options = {};
options.graph = {};
var type = arg.value;
if (type === 'single') {
// マーカをクリックすることでグラフを表示する
options.graph.clickable = true;
} else if (type === 'multiple') {
// 複数のグラフを表示する
options.graph.clickable = false;
}
graph.setOptions(options);
graph.redraw();
}
</script>
</head>
<body onload="loadMap();">
<select id="select-graph" style="top:0px; left: 20px; position: absolute; z-index: 100" onchange="changeGraph(this)">
<option value="single">単数グラフ</option>
<option value="multiple">複数グラフ</option>
</select>
<div id="ZMap" style="border:1px solid #777777; width:750px; height:500px; top:0px; left:20px; position:absolute;">
</div>
</body>
</html>