0

Google マップの理解度を確認する:

私は、雇用主の施設に関するさまざまな種類の情報を表示する Web ページを作成しています。マルチビューを使用しており、ユーザー入力 (ボタン ツールバー) に応じて適切なビューをアクティブにしています。選択した建物のマップとなるビューを追加すると、問題が発生します。ユーザーが建物の地図ビューに移動したときに地図を表示させることができます。しかし、ユーザーがそのビューから移動すると、マップ API でエラーが表示されます

0x800a138f - JavaScript runtime error: Unable to get property 'offsetWidth' of undefined or null reference

私が理解しているように、これは、別のビューがアクティブになると、マップを含むビューがレンダリングされなくなるためです。API が、存在しないオブジェクトにアクセスしようとしています。

オブジェクトをきれいにしようとすることができます - すべてのリスナーを削除し、オブジェクトを削除し、それを含む div を削除することさえできます。しかし、マップ インスタンスを破棄する方法に関する関連する質問を読み、このトピックに関する Chris Broadfoot と Luke Mahe の議論を聞いたところです。

このことから、私の理解では、Google マップ API はこの種の処理用に設計されていません。したがって、マルチビューなどと互換性があるようには設計されていません。

これは正しいですか?そうでない場合、何が欠けていますか?もしそうなら、マルチビューの代わりに何を使うべきかについてのウェブアプリの初心者への提案はありますか(私は必要に応じてパネルと非表示/表示を考えています)?

4

1 に答える 1