1

私の状況では、多くの地理データがあり、それらの多くは同じ緯度と経度を持っています。

MarkerCluster の zoomOnClick ハンドラーを維持したいのですが、マップがズームインを維持し、最大ズーム レベルを取得すると、クラスター内の同じ緯度と経度のデータが分離されません (21 である最大ズーム レベルに達するため) <-- それが原因です検出。したがって、私がやりたいことは、マップが最大ズーム レベルになったときに、クラスター マーカーをクリックし、ズームインせずに、情報ウィンドウをポップアップして、そのクラスター内のすべてのマーカーの情報を表示することだけです。

clustermarker をクリックして、(MarkerCluster.js を変更することにより) 今すぐ情報ウィンドウをポップアップできますが、その clustermarker でこれらのマーカーを取得する方法がわかりません。今のところ、すべてのマーカーを返すことしかできません...

これを行う方法またはjsファイルを変更する方法を知っている人はいますか? それとも、誰かが同じシナリオを持っているのでしょうか?

アドバイスをいただければ幸いです。

4

1 に答える 1

2

現在の (クリックされた) クラスターを取得するには、clusterclick-callback に渡された引数にアクセスします。

この引数のメソッドgetMarkers()は、クラスター内のマーカーを含む配列を返し、配列をループして目的のデータを収集します。

注:使用しているmarkerclusterer.jsのバージョンがわかりません。私の答えはこのバージョンを参照しています。
このバージョンを変更する必要もありません。変更を加えることなく、要求されたすべての機能にアクセスできます。

マーカーへのアクセス方法の短い例:

google.maps.event.addListener(markerclustererObject,'clusterclick',
   関数(クリックされたクラスター){
   console.log( clickedCluster .getMarkers());
});

于 2013-01-22T19:05:07.357 に答える