3

私は流動的な状況を持っています。マップ上にまったく同じ緯度/経度にあるマーカーがいくつかあるため、MarkerClusterer ズームはクラスターを壊しません。ユーザーのクリックを処理しましたが、クリックされたクラスターに別の画像を設定したいと思います。

メソッドを見つけましsetStyles()たが、それはクラスター生成用に設定されたデフォルトのスタイルを変更します。

私はこれらの行に沿って何かを試しました:

markerCluster = new MarkerClusterer(map, duplicateMarkers);
markerCluster.clusters_[0].clusterIcon_.url_ = imageurl;

別の画像を設定したのですがマップ上で変わらないので も入れてみましたsetTimeout

4

1 に答える 1

0

クラスターの作成時にスタイルを定義できます。

var markerCluster = new MarkerClusterer(map, marker_list, {styles:[{...},{...},,,]});

カスタム スタイルを定義する方法については、こちらの例を参照してください: https://googlemaps.github.io/js-marker-clusterer/examples/advanced_example.html

その概念を拡張し、別のアイコンをいつ使用するかを区別または識別する方法を見つける必要があります。私の場合、マップ上に 5 つの異なるタイプのマーカーがあり、5 つの異なるタイプのクラスター (マーカーのタイプごとに 1 つ) が必要です。マーカーを 5 つの異なる配列に並べ替えました。あなたの場合、同じ緯度/経度のマーカーを2つの異なる配列(markerArray1とmarkerArray2など)に追加したいと思うでしょう。次に、次のようにします: var markerCluster1 = new MarkerClusterer(map, markerArray1, {styles:[{...},{...},,,]});

var markerCluster2 = new MarkerClusterer(map, markerArray2, {styles:[{...},{...},,,]});

そのため、異なるスタイルでクラスターを個別に定義していますが、それらを同じマップに追加しています。

于 2015-05-21T15:57:59.423 に答える