コンテキストメニューの設定
このページでは以下の方法について説明しています。
- 地図にコンテキストメニューを設定する方法
対象クラス
対象関数
実装サンプル
こちらをご覧ください。
実装方法
コンテキストメニューを設定する
- 地図を初期化します
- mapscript.value.ContextMenu オブジェクトを生成します
- setContextMenu()関数( Map クラス )を用いて地図にコンテキストメニューを設定します
※コンテキストメニューを削除する場合は clearContextMenu()関数( Map クラス )をご利用ください
サンプルコード
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>地図にコンテキストメニューを設定する</title>
<script src="https://{HOST}/{CID}/v2/map_script?host={example.com}&signature={XXXXXXXXX}&request_code={YYYYYYYYY}"></script>
<script>
function initMap(){
const center = new mapscript.value.LatLng(35.68081, 139.76779);
// (1) 地図を初期化します
const map = new mapscript.Map('{CID}', {
target: '#map',
center: center,
zoomLevel: 15
});
// (2) ContextMenuを作成
const menu = new mapscript.value.ContextMenu([
{
// メニューに表示する文字列
text: 'ここを中心にする',
// 上記メニューが選択されたときの挙動
onselect(e) {
map.setCenter(e.position, true);
}
},
{
text: 'アラートを表示',
onselect(e) {
alert('サンプル');
}
}
]);
// (3) ContextMenuを地図に追加
map.setContextMenu(menu);
// ContextMenuを地図から削除
// こちらのコードで動作を確認する場合は以下の1行をコメントアウトの上ご利用ください
map.clearContextMenu(menu);
}
</script>
</head>
<body onload="initMap()">
<div id="map" style="height: 500px; width: 500px;"></div>
<body>
</html>
コンテキストメニューをクリックした際の返却値
コンテキストメニューをクリックした際の返却値(上記の実装例では onselect の引数にあたる)からは以下の値が取得できます。
● native:元のマウスイベント
● position:クリックした地点の緯度経度(LatLngオブジェクト)
詳しくはこちらをご覧ください。