×
Wiki Top
最近の更新
🔄
本ページはプロモーションが含まれています。
Widget
議論
ソースを編集
履歴表示
「
Widget:Custom map
」を編集中
提供:ロマサガ2リメイク 攻略Wiki(ロマンシング サガ2 リベンジオブザセブン)
移動先:
案内
、
検索
警告:
ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。
ログイン
または
アカウントを作成
すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。
スパム攻撃防止用のチェックです。 けっして、ここには、値の入力は
しない
でください!
<includeonly> <!-- Required CSS --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.4/leaflet.draw.css"/> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css"/> <link rel="stylesheet" href="https://dq.h1g.jp/img/dq10_offline/map/css/leaflet-easy-button.css" /> <link rel="stylesheet" href="https://dq.h1g.jp/img/dq10_offline/map/css/leaflet-tag-filter-button.css" /> <link rel="stylesheet" href="https://dq.h1g.jp/img/marker-icon-img/editable-popup.css" /> <link rel="stylesheet" href="https://dq.h1g.jp/img/lightgallery.min.css"/> <!-- Required JS Libraries --> <script src="https://code.jquery.com/jquery-3.7.1.min.js"></script> <script src="https://dq.h1g.jp/leaflet/leaflet.js"></script> <script src="https://dq.h1g.jp/img/dq10_offline/map/js/leaflet-easy-button.js"></script> <script src="https://dq.h1g.jp/img/dq10_offline/map/js/leaflet-tag-filter-button.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet.draw/1.0.4/leaflet.draw.js"></script> <script src="https://dq.h1g.jp/leaflet/custom-leaflet-draw-locale.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/lightgallery/2.7.2/lightgallery.min.js"></script> <!-- Global Configuration --> <script> // Initialize WidgetMap namespace with explicit function placeholder window.WidgetMap = { map: null, drawnItems: null, drawControl: null, editMode: false, api: {}, popups: {}, icons: {}, // 明示的な関数プレースホルダー initializeMap: function() { console.error('Map initialization not yet loaded'); return null; } }; // Initialize API base URL (function() { const currentUrl = new URL(window.location.href); const baseUrl = currentUrl.origin + currentUrl.pathname.split('/').slice(0, -1).join('/'); window.API_BASE_URL = baseUrl; console.log('API_BASE_URL initialized:', baseUrl); })(); // Map configuration window.mapConfig = { imageUrl: '<!--{$img}-->', imageWidth: <!--{$imgwidth}-->, imageHeight: <!--{$imgheight}-->, minZoom: <!--{$minzoom}-->, maxZoom: <!--{$maxzoom}-->, geoJsonPage: '<!--{$geojson}-->', iconUrls: { icon1: '<!--{$icon1|default:"https://dq.h1g.jp/img/marker-icon-img/marker-icon-blue.png"}-->', icon2: '<!--{$icon2|default:"https://dq.h1g.jp/img/marker-icon-img/marker-icon-red.png"}-->', icon3: '<!--{$icon3|default:"https://dq.h1g.jp/img/marker-icon-img/marker-icon-violet.png"}-->', icon4: '<!--{$icon4|default:"https://dq.h1g.jp/img/marker-icon-img/marker-icon-green.png"}-->', icon5: '<!--{$icon5|default:"https://dq.h1g.jp/img/marker-icon-img/marker-icon-gold.png"}-->', icon6: '<!--{$icon6|default:"https://dq.h1g.jp/img/marker-icon-img/marker-icon-black.png"}-->' }, filters: { filter1: '<!--{$filter1|default:"分類1"}-->', filter2: '<!--{$filter2|default:"分類2"}-->', filter3: '<!--{$filter3|default:"分類3"}-->', filter4: '<!--{$filter4|default:"分類4"}-->', filter5: '<!--{$filter5|default:"分類5"}-->', filter6: '<!--{$filter6|default:"分類6"}-->' } }; </script> <!-- Load scripts sequentially --> <script> // Clear any existing WidgetMap object if (window.WidgetMap) { console.log('[Init] Clearing existing WidgetMap object'); delete window.WidgetMap; } // Initialize fresh WidgetMap namespace window.WidgetMap = { map: null, drawnItems: null, drawControl: null, editMode: false, api: {}, popups: {}, icons: {} }; function loadScriptsSequentially() { function loadScript(src) { return new Promise((resolve, reject) => { console.log('[Script Loader] Loading:', src); const script = document.createElement('script'); script.src = src; script.onload = () => { console.log('[Script Loader] Successfully loaded:', src); if (src.includes('WidgetMap-core.js')) { // コア読み込み後の検証を強化 const verification = { hasWidgetMap: !!window.WidgetMap, initializeMapType: typeof window.WidgetMap.initializeMap, isFunction: typeof window.WidgetMap.initializeMap === 'function' }; console.log('[Script Loader] Core verification:', verification); if (!verification.isFunction) { console.error('[Script Loader] initializeMap not properly defined'); reject(new Error(`initializeMap not properly defined. Type: ${verification.initializeMapType}`)); return; } } resolve(); }; script.onerror = (error) => reject(new Error(`Failed to load ${src}: ${error}`)); document.head.appendChild(script); }); } // スクリプトの順次読み込み return Promise.resolve() .then(() => loadScript('https://dq.h1g.jp/leaflet/widgetmap-core.js')) .then(() => loadScript('https://dq.h1g.jp/leaflet/widgetmap-icons.js')) .then(() => loadScript('https://dq.h1g.jp/leaflet/widgetmap-popups.js')) .then(() => loadScript('https://dq.h1g.jp/leaflet/widgetmap-api.js')) .then(() => loadScript('https://dq.h1g.jp/leaflet/widgetmap-init.js')); } // Start loading when document is ready $(document).ready(() => { console.log('[Main] Starting initialization'); loadScriptsSequentially().catch(error => { console.error('[Main] Loading sequence failed:', error); alert('モジュールの読み込みに失敗しました。\n詳細はコンソールを確認してください。'); }); }); </script> </includeonly>
編集内容の要約:
ロマサガ2リメイク 攻略Wiki(ロマンシング サガ2 リベンジオブザセブン)への投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細は
Rs2r:著作権
を参照)。
著作権保護されている作品は、許諾なしに投稿しないでください!
Wikiを自動編集スパムから保護するために、下のチェックボックスをクリックしてください。
取り消し
編集の仕方
(新しいウィンドウで開きます)