Maps Webマップを使用するのに必要なAPIを説明します。
項目 | URL |
---|---|
マップ | https://kr1-maps.api.nhncloudservice.com/maps/js/v1.0/map.js |
静的(static)マップ | https://kr1-maps.api.nhncloudservice.com/maps/js/v1.0/staticMap.js |
JavaScript基盤のNHN Cloud Maps APIを利用して、Webブラウザにマップを表示する方法を説明します。 NHN Cloud Maps APIは、THINKWARE座標を使用します。縮約してTW座標、TW X座標、TW Y座標で表示します。 メソッドでオプションのパラメータは[param]と表示します。オプションのパラメータは省略できます。
※ NHN Cloud Maps APIで使用する座標は、THINKWARE専用座標にのみ使用されます。
THINKWARE座標を経緯度座標(WGS84)に変換するには、THINKMAP.tw_Wgs84()関数を利用します。 反対に経緯度座標(WGS84)をTHINKWARE座標に変換するには、THINKMAP.wgs84_Tw()関数を利用します。
API名 | Parameter | Returns | 説明 |
---|---|---|---|
THINKMAP.initMap(map_div_name, twX, twY, level, init_cb, arrange_type, map_type) | map_div : String | マップ入れるdivタグID マップを使用するために、最初に呼び出す必要がある初期化関数です。 |
|
twX : Number | マップ初期化TW X座標 | ||
twY : Number | マップ初期化TW Y座標 | ||
level : Number | マップ初期化レベル - 一般マップ:1~13 - 航空写真:1~13 |
||
init_cb : function() | マップ初期化後に呼び出されるコールバック関数 | ||
arrange_type : Number | マップレイヤーソート方式 1:中央ソート方式(resize効果あり) 2:全体ローディング方式(resize効果なし) 3:右上ソート方式(resize効果あり) |
||
map_type : String | マップタイプ設定 'i':一般マップ 'a':航空写真 's':要約マップ 'm':モバイルマップ |
||
THINKMAP.imageMap() | マップを一般マップに切り替えます。 | ||
THINKMAP.aerialMap() | マップを航空写真に切り替えます。 | ||
THINKMAP.setAerialHybrid(active) | active: Boolean | 航空周期を表示するかどうか true:マップ上に航空周期を表示 false:マップ上に航空周期を表示しない マップ上に航空写真周期を表示するかどうかを設定します。 |
|
THINKMAP.addMapListener(event_name, func_cb) | event_name : String |
マップに登録するイベント名 'movestart' - マップが動き始めた時 'move' - マップが動く時 'moveend' - マップの動きが終わった時 'zoomend' - マップの拡大、縮小が終わった時 'mouseover' - マップ上にマウスを移動させた時 'mouseout' - マップの外にマウスを移動させた時 'mousemove' - マップでマウスが動く時 マップにイベントを登録します。 (マップに関連したイベント、拡大/縮小、動きなど) |
|
func_cb : function() | マップでイベントが発生した時に呼び出されるコールバック関数 (コールバック関数にパラメータとしてMapオブジェクトが渡されます) |
||
THINKMAP.removeMapListener(event_name) | event_name : String | マップから削除するイベント名 'movestart' - マップが動き始めた時 'move' - マップが動く時 'moveend' - マップの動きが終わった時 'zoomend' - マップ拡大、縮小が終わった時 'mouseover' - マップ上にマウスを移動させた時 'mouseout' - マップの外にマウスを移動させた時 'mousemove' - マップでマウスが動く時 マップに登録したイベントを削除します。 THINKMAP.addMapListenerメソッドに登録したevent_nameに該当するすべてのコールバック関数を削除するので注意してください。 |
|
THINKMAP.createMarker(twX, twY, width, height, iconUrl, [param]) | twX : Number | Markerオブジェクト位置TW X座標 Markerオブジェクトを作成します。 作成したMarkerオブジェクトをマップに表示するには、THINKMAP.addMarkerメソッドでマップにMarkerオブジェクトを追加する必要があります。 |
|
twY : Number | Markerオブジェクト位置TW Y座標 | ||
width : Number | Markerイメージの幅 | ||
height : Number | Markerイメージの高さ | ||
iconURL : String | MarkerイメージのURL | ||
param : String | Markerオブジェクトのユーザー変数 | ||
THINKMAP.addMarker(marker) | marker : Marker | マップに追加する対象Markerオブジェクト マップにMarkerオブジェクトを追加します。 |
|
THINKMAP.featureDrawing(draw_type, style, func_cb) | draw_type : String | ユーザーが描写するFeatureオブジェクトタイプ 'lineDraw':線 'polygonDraw':多角形 'regularPolygonDraw':形が決まっている多角形 ユーザーがマップにマウスでPolyline、Polygonを直接描写できる描写モードに切り替えます。 マップをクリックした時、オブジェクトの描写が始まり、マウスをダブルクリックすると描写が完了します。 描写完了時、コールバック関数に描写したFeatureオブジェクトを渡します。 |
|
style : Object | Polygon, Polylineのスタイルを指定するためのObject strokeColor:線の色 - 'red', '#fff123' strokeWidth:線の太さ - 10 strokeOpacity:線の透明度 fillColor:塗りつぶしの色 fillOpacity:塗りつぶしの透明度 strokeDashstyle:線のスタイル dot:· · · · · · dash: - - - - - - dashdot:- · - · - · - longdashdot:ㅡ·ㅡ·ㅡ solid:実線 |
||
func_cb : function() | ユーザーがマップをダブルクリックして Featureオブジェクトの描写が完了した時に呼び出されるコールバック関数 |
||
THINKMAP.featureDrawingCancel() | マップにユーザーがマウスでPolyline、Polygonを直接描写できる描写モードを終了します。 | ||
THINKMAP.tw_Wgs84(twX, twY) | twX:Number | coord:Object 変換されたWGS84座標 - coord.curx:WGS84 X座標 - coord.cury:WGS84 Y座標 |
変換するTW X座標 TW座標をWGS84座標に変換します。 |
twY : Number | 変換するTW Y座標 | ||
THINKMAP.wgs84_Tw(wgs_lon, wgs_lat) | wgs_lon:Number | coord:Object 変換されたTW座標 - coord.curx:TW X座標 - coord.cury:TW Y座標 |
変換するWGS84経度座標 WGS84座標をTW座標に変換します。 |
wgs_lat : Number | 変換するWGS84緯度座標 |
// マップを使用するためのjsファイルを宣言します。
<script type="text/javascript" src="https://kr1-maps.api.nhncloudservice.com/maps/js/v1.0/map.js"></script>
<script>
// マップを使用するための認証を進行します。
Map.authentification("appKey");
</script>
//マップを入れるDIVを作成します。
<div id="div_map"></div>
<script type="text/javascript">
//宣言したDIVにマップを表示します。
THINKMAP.initMap("div_map", 165406, 500198, 12, init, 2, 'i');
// マップinit後、コールバック関数が実行されます。
function init(){
alert('init!');
}
</script>
<script type="text/javascript">
//マップを一般マップに切り替え
THINKMAP.imageMap();
//マップを航空写真に切り替え
THINKMAP.aerialMap();
//マップ上に航空周期を表示するかどうかを設定
THINKMAP.setAerialHybrid(active);
</script>
<script type="text/javascript">
//マップにmoveイベントを登録する。
THINKMAP.addMapListener('move', mapEvent_cb);
//マップイベント発生時のコールバック関数
function mapEvent_cb(map){
console.log("event callback!");
}
</script>
<script type="text/javascript">
//マップからmoveイベントを削除する。
THINKMAP.removeMapListener('move');
</script>
<script type="text/javascript">
//マップのマーカーオブジェクトを初期化する。
var marker = null;
function createMarker(){
if(!marker){
//マーカーオブジェクトを作成する。
marker = THINKMAP.createMarker(163670, 526934, 47, 46, '../img/img.png', 'my_marker');
//マーカーをマップに追加する。
THINKMAP.addMarker(marker);
console.log('id : ' + marker._feature_id + ', param : ' + marker._param);
}
}
</script>
<script type="text/javascript">
//マップを描写モードに切り替える。
var style = {
strokeColor: '#fff123',
strokeWidth: 5,
strokeDashstyle: 'solid',
strokeOpacity: 0.8,
fillColor: 'blue',
fillopacity: 1
};
THINKMAP.featureDrawing("lineDraw", style, drawEvent_cb);
function drawEvent_cb(){
alert("描写モードに切り替え!");
}
</script>
<script type="text/javascript">
//マップ描写モードを終了する。
THINKMAP.featureDrawingCancel();
</script>
<script type="text/javascript">
var wgs;
// TW座標をWGS座標に変換する。
wgs = THINKMAP.tw_Wgs84(165406, 500198);
console.log(wgs.curx);
console.log(wgs.cury);
</script>
<script type="text/javascript">
var tw;
// WGS座標をTW座標に変換する。
wgs = THINKMAP.wgs84_Tw(127.28976653131843, 37.56515136725675);
console.log(tw.curx);
console.log(tw.cury);
</script>
// 静的(static)マップを使用するためのjsファイルを宣言します。
<script type="text/javascript" src="https://kr1-maps.api.nhncloudservice.com/maps/js/v1.0/staticMap.js"></script>
// マップを入れるIMGを作成します。
<img id='staticMapImg' alt="" src="">
<script>
// 静的(static)マップを使用するための認証およびパラメータを渡します。
StaticMap.authentification('staticMapImg',"appkey",'x=157423&y=266836&width=970&height=300&level=10&maptype=i&mx=158323&my=266836&txt=');
</script>
名前 | タイプ | 必須かどうか | 説明 |
---|---|---|---|
x | Integer | 必須 | マップ中心のX座標 |
y | Integer | 必須 | マップ中心のY座標 |
mx | Integer | 必須 | マーカーのX座標 |
my | Integer | 必須 | マーカーのY座標 |
width | Integer | 任意 | マップの幅 未入力時は基本600px |
height | Integer | 任意 | マップの高さ 未入力時は基本600px |
imgurl | String | 任意 | マーカーイメージURL 未入力時は基本マーカーを使用 |
level | Integer | 任意 | マップレベル 未入力時は基本10 |
maptype | String | 任意 | マップタイプ 未入力時は基本一般マップ |
label | String | 任意 | ラベルの内容 |
Android/iOS WebViewで使用できるハイブリッド型のアプリを開発する時、NHN Cloud Maps APIを利用し、JavaScript基盤のWebマップと同じAPIで使用できます。 APIの詳細は、1. Webマップを参照してください。
<!DOCTYPE html>
<html>
<head>
// モバイル端末に合わせてviewportを設定します。
<meta name="viewport" content="width=device-width, initial-scale=1,user-scalable=no">
<style>
body {
margin: 0;
}
#div_map {
position: absolute;
width: 100%;
height: 100%;
}
</style>
// マップを使用するためのjsファイルを宣言します。
<script type="text/javascript" src="https://kr1-maps.api.nhncloudservice.com/maps/js/v1.0/map.js"></script>
<script>
// マップを使用するための認証を進行します。
Map.authentification("appKey");
</script>
</head>
<body>
//マップを入れるDIVを作成します。
<div id="div_map"></div>
<script type="text/javascript">
//宣言したDIVにマップを表示します。(モバイルマップタイプの'm'を宣言します。)
THINKMAP.initMap("div_map", 165406, 500198, 12, init, 2, 'm');
// マップinit後、コールバック関数が実行されます。
function init(){
alert('init!');
}
</script>
</body>
</html>