0

ねえの人々マーカーアイコンをライブデータで(動的に)更新するにはどうすればよいですか?

それは、すぐにAJAX機能がサーバから新しいデータを引っ張るように変更/更新することができ、マーカー、アイコンを作成することが可能です場合、私は、思っていました。例を挙げよう:

私はいくつかの異なる人々を表すマーカーを持っています。そのうちの1人がシステムに新しいメッセージを投稿すると、AJAXはそれを取り出してMapオブジェクトに渡します。今度は、その人の隣にInfoWindowを開くか、これが好ましい方法です - マーカーアイコンの隣に小さな赤色のアイコンを追加することで、この(イベント)を地図にポップしますあなたはFacebookのトップ・ナビゲーションからそれを知っています(例えば、5つの新しいメッセージと3つの友人要求があります)。 アイコンがクリックされた/ InfoWindowが開いている場合は、そこから余分なアイコンを削除したいと考えています。

これを行う可能性はありますか?そして、(ベンチマークの点で)最速の方法は何でしょうか?たぶん追加のオーバーレイがありますか?または、ビューポート内のピクセルを計算して追加する必要がありますか?

は、今ではあなたの番です... :)

どうもありがとう!

答えて

0

簡単な方法は、MarkerクラスのsetIcon()関数を使用することです。

もう1つのオーバーレイを使用することは可能です。トリックは、ビューポート内のピクセルを計算することです。透明な「赤いアイコン」を使用することでそれを回避し、カスタムオーバーレイクラス(http://code.google.com/apis/maps/documentation/javascript/overlays.html#CustomOverlays)を使用して既存のアイコンの上にオーバーレイします)アイコンの位置を使用します。

実際にピクセルを計算したい場合は、「google map contextmenu」を検索し、人々が計算をどのように行うかを参照できます。

+0

あなたはスピードの点でより適切だと思いますか?私はすでにカスタムマーカーアイコンを使用しています。単一のマーカーごとにさらに多くのアイコンを作成することはさらに悪化するようです。私はオーバーレイのアイデアが気に入っていますが、かなりのマーカーがあるので、マップをたくさんパンしたりズームしたりするたびに、毎回再計算が必要になります。それは遅くなるはずですか?他に何かありませんか?超高速のような? – mind85

+0

基本的には、多くのマーカー、パン、ズーム、着信メッセージで非常に高速なものが必要ですか?誰でも? – mind85

+0

アイコンやカスタムオーバーレイを使用すると、パンやズームについて考慮すればあまり差はありません。違いはアイコン(画像)を使用するかどうかによって異なります。ブラウザやコンピュータによっては、数十のアイコンや小さなオーバーレイ、さらには何百ものものが、今日はかなり高速にレンダリングされる可能性があります。 – user1226919

関連する問題