「Widget:Custom map」の版間の差分
提供:メタファー リファンタジオ 攻略Wiki
ヘイグ運営用アカウント (トーク | 投稿記録) 編集の要約なし |
ヘイグ運営用アカウント (トーク | 投稿記録) 編集の要約なし |
||
19行目: | 19行目: | ||
<script type="text/javascript"> | <script type="text/javascript"> | ||
// グローバル変数の定義 | |||
let map; | |||
let drawnItems; | |||
let drawControl; | |||
let editMode = false; | |||
// APIベースURLを定数として定義 | // APIベースURLを定数として定義 | ||
const API_BASE_URL = 'https://prd-h1g-elb-2067013247.ap-northeast-1.elb.amazonaws.com/metaphor_refantazio'; | const API_BASE_URL = 'https://prd-h1g-elb-2067013247.ap-northeast-1.elb.amazonaws.com/metaphor_refantazio'; | ||
51行目: | 51行目: | ||
}); | }); | ||
} | } | ||
// マップの初期化 | // マップの初期化 | ||
72行目: | 70行目: | ||
); | ); | ||
map = L.map('map', { | // マップインスタンスの作成 | ||
map = L.map('map', { | |||
crs: L.CRS.Simple, | |||
maxBounds: imageBounds.pad(0.5), | |||
minZoom: <!--{$minzoom}-->, | |||
maxZoom: <!--{$maxzoom}--> | |||
} | }); | ||
// 画像オーバーレイの追加 | |||
L.imageOverlay(imageBase.url, imageBounds, { | |||
attribution: '<a href="https://h1g.jp/" target="_blank">【ヘイグ】</a>' | |||
}).addTo(map); | |||
// マップを境界に合わせる | // マップを境界に合わせる | ||
map.fitBounds(imageBounds); | map.fitBounds(imageBounds); | ||
// drawnItemsの初期化(一度だけ) | |||
map.addLayer(drawnItems); | drawnItems = new L.FeatureGroup(); | ||
map.addLayer(drawnItems); | |||
// drawControlの設定 | |||
// drawControlの設定 | |||
drawControl = new L.Control.Draw({ | drawControl = new L.Control.Draw({ | ||
edit: { | edit: { | ||
105行目: | 99行目: | ||
polygon: false, | polygon: false, | ||
polyline: false, | polyline: false, | ||
rectangle: | rectangle: false, | ||
circle: true, | circle: true, | ||
marker: true, | marker: true, | ||
114行目: | 108行目: | ||
// 初期状態では編集モードを無効に | // 初期状態では編集モードを無効に | ||
drawControl.remove(); | drawControl.remove(); | ||
// フィルターボタンの追加 | |||
L.control.tagFilterButton({ | |||
data: [ | |||
'<!--{$filter1|default:"分類1"}-->', | |||
'<!--{$filter2|default:"分類2"}-->', | |||
'<!--{$filter3|default:"分類3"}-->', | |||
'<!--{$filter4|default:"分類4"}-->', | |||
'<!--{$filter5|default:"分類5"}-->', | |||
'<!--{$filter6|default:"分類6"}-->' | |||
], | |||
icon: '<img src="https://dq.h1g.jp/img/marker-icon-img/filter.png">', | |||
filterOnEveryClick: true | |||
}).addTo(map); | |||
return map; | return map; | ||
} | } | ||
// ページ読み込み時の処理 | // ページ読み込み時の処理 | ||
$(document).ready(function() { | $(document).ready(function() { | ||
// 必要な関数をwindowに登録 | |||
window.savePopupContent = savePopupContent; | |||
// マップの初期化 | // マップの初期化 | ||
map = initializeMap(); | map = initializeMap(); | ||
159行目: | 167行目: | ||
}, 500); | }, 500); | ||
}); | }); | ||