「Widget:Custom map」の版間の差分
提供:メタファー リファンタジオ 攻略Wiki
ヘイグ運営用アカウント (トーク | 投稿記録) 編集の要約なし |
ヘイグ運営用アカウント (トーク | 投稿記録) 編集の要約なし |
||
33行目: | 33行目: | ||
api: {}, | api: {}, | ||
popups: {}, | popups: {}, | ||
icons: {} | icons: {}, | ||
// 明示的に初期化関数をnullで定義 | |||
initializeMap: null // この行を追加 | |||
}; | }; | ||
78行目: | 80行目: | ||
const script = document.createElement('script'); | const script = document.createElement('script'); | ||
script.src = src; | script.src = src; | ||
script.onload = resolve; | script.onload = () => { | ||
// スクリプト読み込み後に確認 | |||
if (src.includes('gtp8-core.js')) { | |||
console.log('Core module check:', { | |||
hasGTP8: !!window.GTP8, | |||
initializeMapType: typeof window.GTP8.initializeMap, | |||
isFunction: typeof window.GTP8.initializeMap === 'function' | |||
}); | |||
} | |||
resolve(); | |||
}; | |||
script.onerror = reject; | script.onerror = reject; | ||
document.head.appendChild(script); | document.head.appendChild(script); | ||
86行目: | 98行目: | ||
return loadScript('https://dq.h1g.jp/leaflet/gtp8-core.js') | return loadScript('https://dq.h1g.jp/leaflet/gtp8-core.js') | ||
.then(() => { | .then(() => { | ||
if (typeof window.GTP8.initializeMap !== 'function') { | |||
throw new Error('Failed to load core module properly'); | |||
} | |||
return loadScript('https://dq.h1g.jp/leaflet/gtp8-icons.js'); | return loadScript('https://dq.h1g.jp/leaflet/gtp8-icons.js'); | ||
}) | }) | ||
94行目: | 108行目: | ||
.catch(error => { | .catch(error => { | ||
console.error('Script loading error:', error); | console.error('Script loading error:', error); | ||
alert('モジュールの読み込みに失敗しました。'); | |||
}); | }); | ||
} | } | ||
99行目: | 114行目: | ||
// Start loading when document is ready | // Start loading when document is ready | ||
$(document).ready(() => { | $(document).ready(() => { | ||
loadScriptsSequentially(); | loadScriptsSequentially().catch(error => { | ||
console.error('Initialization error:', error); | |||
}); | |||
}); | }); | ||
</script> | </script> | ||
</includeonly> | </includeonly> |