2025
10
30
2011
01
12
東京23区を色分けした地図を作る。
今回は、Yahoo! JAPAN Web Services の地図APIのJavaScriptマップ を利用します。この中の白地図レイヤー(blankmap)を用いると行政区域ごとの色分けが可能です。
記事「都道府県を色分けした地図を作る。」では、Google Chart Tools/Image Charts(aka Chart API) の Map Chart を用いて、各都道府県の色分けを行いました。現時点では、それより細かいレベルの地域を色分けすることは、Google の Map Chart ではできませんでした。
一方、Yahoo! JAPAN JavaScriptマップ では、広域の色分けはできません。白地図レイヤー(blank_map)が適用できるのは、縮尺レベル(zoom lebel)の11~20の範囲です。日本列島の主要部分を地図に表示する場合には、"5"か"6"の縮尺レベル(zoom lebel)が必要なので、都道府県の色分けはできません。逆に狭い地域の色分けは得意です。
今回は、縮尺レベル(zoom lebel)"11"で、東京23区を色分けしましょう。
ソースコード
APIのロード
まず地図APIを導入しておきます。
<script src="http://js.api.olp.yahooapis.jp/OpenLocalPlatform/V1/jsapi ?appid=≪アプリケーーションID≫" type="text/javascript" charset="UTF-8" > </script>
表示位置の設定
表示位置とその幅、高さを設定します。地図オブジェクトを生成するときにこのidを指定します。
<div id="map110113" style="width:280px; height:280px"></div>
色分けの設定
"style"オブジェクトの"area"プロパティの中で、行政区域コードと表示色のペアを作ります。
var style = {
"area" : {
"default" : "dcdcdc"
,"13101" : "bbbcde"
,"13102" : "b9d08b"
,"13103" : "f6bfbc"
,"13104" : "b9d08b"
,"13105" : "f8e58c"
,"13106" : "f6bfbc"
,"13107" : "f8e58c"
,"13108" : "f6bfbc"
,"13109" : "b9d08b"
,"13110" : "f8e58c"
,"13111" : "f6bfbc"
,"13112" : "b9d08b"
,"13113" : "bbbcde"
,"13114" : "f6bfbc"
,"13115" : "f8e58c"
,"13116" : "bbbcde"
,"13117" : "f6bfbc"
,"13118" : "bbbcde"
,"13119" : "f8e58c"
,"13120" : "b9d08b"
,"13121" : "b9d08b"
,"13122" : "bbbcde"
,"13123" : "b9d08b"
},
"label" : {
"default" : "696969"
},
"border" : {
"default" : "aaa"
},
"bg" : "b0c4de"
}
地図表示のスクリプト
var map; //地図オブジェクト
var blankmap; //白地図レイヤー
neta.addListener(function() {
map = new Y.Map("map110113");
//白地図レイヤーを作成します。
blankmap = new Y.BlankMapLayer();
//レイヤーセットを作成します。
var layerset = new Y.LayerSet("白地図", [blankmap]);
//Mapオブジェクトにレイヤーセットを追加します。
map.addLayerSet("blankmap", layerset);
//地図を描画します。
map.drawMap(new Y.LatLng(35.67,139.74),
11, Y.NORMAL_LAYERSET);
//表示を白地図にします。
map.setLayerSet( "blankmap" );
blankmap.setStyle(style, true);
});
なお、neta.addListener は、お手製のイベントリスナーです。
2011/01/12 (Wed.) Trackback() Comment(0) Yahoo! Web Services
Comments
Trackback
Trackback for this entry:
