次の例では、地図にマーカを表示します。
API3.0ではAPI1.11にあったユーザレイヤ、アイコン生成は必要ありません。
地図にマーカを表示するには、地図表示の変更点に加え、
ZDC.Markerクラス、ZDC.MapクラスのaddWidget()を利用します。
アイコンを追加する手順と、対応するクラス/メソッド示します。
手順 | 説明 | 1.11クラス/メソッド | 3.0クラス/メソッド |
1 | ユーザレイヤ作成 | ZdcUserLayer | - |
2 | アイコンを生成 | ZdcIcon | - |
3 | マーカ生成 | ZdcMarker | ZDC.Marker |
4 | ユーザレイヤにマーカ追加 | ZdcUserLayer/addMarker | - |
5 | 地図上に重畳 | ZdcMap/addUserLayer | ZDC.Map/addWidget() |
API3.0ではユーザレイヤ、アイコンを生成する必要はありません。
/* API 1.11での生成方法 */ /* ユーザレイヤを作成する */ var userlay = new ZdcUserLayer(); userlay.setLayerScale(10,18); // レイヤを1/5万から1/1500で動作させる userlay.setLayerType('auto'); // 縮尺レベル変更時にレイヤを自動削除する /* アイコンを生成する */ var icon = new ZdcIcon(); // デフォルトのアイコンを利用する
API1.11ではアイコン、マーカを別々に作成し、紐づけていました。
API3.0では、マーカ作成の引数にアイコンの代わりとなるマーカデザインを指定できます。
/* API 1.11での生成方法 */ /* マーカで緯度経度とアイコンを紐付ける */ var mark = new ZdcMarker( new ZdcPoint(139.6933217 ,35.6868817), icon //生成したアイコンを指定 ); /* API 3.0での生成方法 */ /* マーカを作成 */ var mrkopt = { color : ZDC.MARKER_COLOR_ID_BLUE_S, //マーカデザインを指定 number : ZDC.MARKER_NUMBER_ID_STAR_S //重畳画像を指定 }; var mrk = new ZDC.Marker(latlon, mrkopt);
API1.11ではマーカをユーザレイヤに追加した上で、
地図にユーザレイヤを追加しました。
API3.0ではZDC.MapクラスのaddWidget()を実行することで地図上にマーカが追加されます。
/* API 1.11での追加方法 */ /* ユーザレイヤにマーカを追加する */ userlay.addMarker(mark); /* 地図にユーザレイヤを追加する */ map.addUserLayer(userlay); /* API 3.0での追加方法 */ /* マーカを追加 */ var map = new ZdcMap(); map.addWidget(mrk);
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="//test.api.its-mo.com/v3/loader?key=JSZddc5111626c8|Zo4wz&api=zdcmap.js,control.js&enc=UTF8" type="text/javascript"></script> <script type="text/javascript"> var map, mrk, lat = 35.6778614, lon = 139.7703167; function loadMap() { var latlon = new ZDC.LatLon(lat, lon); map = new ZDC.Map( document.getElementById('ZMap'), { latlon: latlon, zoom: 9, mapType: ZDC.MAPTYPE_HIGHRES_LV18 } ); /* スケールバーを作成 */ map.addWidget(new ZDC.ScaleBar()); /* 通常のコントロールを表示 */ map.addWidget(new ZDC.Control()); /* マーカを作成 */ mrk = new ZDC.Marker(latlon); /* マーカを追加 */ map.addWidget(mrk); } </script> </head> <body onload="loadMap();"> <div id="ZMap" style="border:1px solid #777777; width:750px; height:500px; top:0px; left:20px; position:absolute;"></div> </body> </html>