2

多数のマーカーを持つアプリケーションがあります (そのため、Marker Clusterer を使用したい) が、ユーザーがマーカーを移動できるようにしたいと考えています。残念ながら、マーカーは移動後にズームアウト/ズームインすると消えます。正確には、これらは問題を再現する手順です。

  1. すべてのマーカーを作成し、それらをマーカー クラスター オブジェクトに追加します。
  2. ズームインして個々のマーカーを表示します。
  3. マーカーを新しい場所に移動します。
  4. クラスタリングが始まるまでズームアウトします (そして、移動したマーカーを少なくとも 1 つの他のマーカーとグループ化します)。
  5. ズームインして、移動したマーカーを確認します。

ズームインした後もマーカーが残っていると思いますが、そうではありません。手順 3 の後、マーカーは表示されたままになります。ズームアウトしてから元に戻した後にのみ消えます。クラスタリングではマーカーが正しくカウントされますが (ズームアウトするとクラスターの合計に表示されます)、マーカーが再び表示されることはありません。

MarkerClusterer と MarkerClustererPlus の最新バージョンを使用してみましたが、マップ API の v3 を扱っています。さらに、マーカーが発生repaintした後にクラスターを呼び出すイベントリスナーがあります (マーカーが適切に配置されると考えています)。dragendrepaint

[編集] 問題を示す最小限の例 (Marker Clusterer の例に基づく) は、ここにあります。この例から変更されたのは、javascript ライブラリ (絶対リンクを作成) を含む行draggable: trueと、マーカー オプションへの追加だけです。上記の 5 つの手順に従うと、問題が再現されます。

4

1 に答える 1

1

これは、Google Maps API チームに報告されたバグです (issue # 167)。こちらをご覧ください

これは、setMap(map) の後に任意の種類のマーカーの動き (アニメーションを含む) が続き、その後に setMap(null) が続くことによっていつでもトリガーされます。その時点で、マーカーを再度表示することはできません。

于 2012-04-22T15:39:06.173 に答える