2

ライブ地震マッシュアップを移植しようとしています

http://www.oe-files.de/gmaps/eqmashup.html

Google マップ API v3 に。現時点では、マップと特にカスタム コントロールがレンダリングされる適切なタイミングを見つけるのに苦労しているので、最初のデータ フィードを読み込むことができます。複数のフィードの 1 つを表すものが強調表示されるため、カスタム コントロールを表示する必要があります。

google.maps.event.addListenerOnce とイベント「idle」および「tilesLoaded」について読みましたが、現時点ではこれらのどれも機能していないようです。

私が知る限り、マッシュアップは次の場所にあります。

http://www.oe-files.de/gmaps/eqmashup-ng.html

フィード セレクター (右下) の 1 つをクリックすると、ページが読み込まれると、フィードが読み込まれます。しかし、ページをロードした後に「switchFeed」を呼び出す適切なタイミングが見つからないようです。

他にもまだ足りないものがたくさんありますが、現時点ではこれが最大の問題です。どんな助けでも大歓迎です。


アップデート:

現時点では、このシーケンスはマップを初期化し、最初のデータをロードすることになっています。

google.maps.event.addDomListener(window, 'load', initMashup);
google.maps.event.addListenerOnce(map, 'tilesLoaded', function() {
        switchFeed('usgs25');
    });

addListerOnce の実行時に「maps」が初期化されないため、これは機能しません。私が試した他の方法は(多かれ少なかれ)です

google.maps.event.addDomListener(window, 'load', initMashup);
switchFeed('usgs25');

switchFeed は、(map.controls を介して) カスタム コントロールとして追加されたボタンのスタイルを切り替え、そのボタンはまだレンダリングされていないため、これも機能しません。

だから私の質問は: マップが完全に読み込まれた瞬間はいつですか? また、このイベントにアクションを追加するにはどうすればよいですか?

4

3 に答える 3

0

問題が発生したかどうかはわかりませんが、私にはかなり些細なことのように思えます。Google マップとコントロールを同時に読み込むことができます。フィードが読み込まれたら、マップを更新できます。天気に応じて、ユーザーが選択をドラッグすると、マップを更新できます。新しいリクエストを作成するか、プリロードされた json ファイルを使用して、古いマーカーをクリアして新しいマーカーをロードすることを選択できますか?? これがあなたが求めているものでない場合は、質問を編集すると、より適切に答えることができます

于 2013-06-03T21:12:19.620 に答える
0

気にしないで、ページが読み込まれるように操作の順序を見つけました。V2 API ほどスムーズではありませんが、機能します。

ただし、修正すべき他の (純粋な JavaScript) の問題がいくつかあります。V2 から V3 への移行は、Google が信じさせようとしているほど簡単ではないと思います...

于 2013-06-04T20:16:28.487 に答える