MarkerClustererを使用しています。まったく同じ場所に2つ以上のマーカーがある場合、APIは1つのマーカーのみを表示します。しかし、どういうわけか、私はそれぞれが別個のポップアップを開くので、すべてのマーカーを表示したい。 検索されたいくつかのソリューションを検索しましたが、何も動作していないようです。 誰もが同様の問題を抱えていて、解決策を共有しますか?同じ場所に複数のマーカーがあります - MarkerClusterer
11
A
答えて
23
最終的には動作しました。これは解決策をまだ見つけていないすべての人のためのものです。コードの下には同じ場所上のマーカーにオフセットを追加します。
あなたcreateMarker
機能では、このコードを追加します
//get array of markers currently in cluster
var allMarkers = namespace.mapParams.mapMarkersArray;
//final position for marker, could be updated if another marker already exists in same position
var finalLatLng = latlng;
//check to see if any of the existing markers match the latlng of the new marker
if (allMarkers.length != 0) {
for (i=0; i < allMarkers.length; i++) {
var existingMarker = allMarkers[i];
var pos = existingMarker.getPosition();
//if a marker already exists in the same position as this marker
if (latlng.equals(pos)) {
//update the position of the coincident marker by applying a small multipler to its coordinates
var newLat = latlng.lat() + (Math.random() -.5)/1500;// * (Math.random() * (max - min) + min);
var newLng = latlng.lng() + (Math.random() -.5)/1500;// * (Math.random() * (max - min) + min);
finalLatLng = new google.maps.LatLng(newLat,newLng);
}
}
}
を今すぐ新しい位置値を持つ各マーカーのためのあなたのgoogle.maps.Marker
オブジェクトを更新 - finalLatLng
。
var marker = new google.maps.Marker({
map: msf_namespace.mapParams.resultmap,
position: finalLatLng,
title: name,
icon: markericon
});
//add each generated marker to mapMarkersArray
namespace.mapParams.mapMarkersArray.push(marker);
関連する問題
- 1. 同じ場所にある複数のjQuery
- 2. 複数のバージョンのEclipseを同じ場所にインストールする
- 3. markerClustererを削除したいときmapがmax。 1つ以上のマーカーが同じ場所にあるときのズームレベル
- 4. 地図上に複数の場所があります
- 5. 同じタブの下に複数のアクティビティがあります
- 6. 同じIPの443ポートに複数のドメインがあります
- 7. PERFORCEの複数のチェンジリストに同じファイルがあります
- 8. Ant:同じファイルセットを複数の場所にコピー
- 9. 複数のNSFetchRequestControllerが同じビューにありますか?
- 10. SQL:同じテーブルに複数の一致がありますか?
- 11. 同じページに複数のビューがありますMVC2
- 12. mediaelement.js同じページに複数の動画がありますか?
- 13. 同じアプリケーション内に複数のFlaskオブジェクトがあります
- 14. 角2同じページに複数のコンポーネントがあります
- 15. 同じページに複数のiScroll要素があります
- 16. 同じDB列に複数のフィールドがあります
- 17. 複数のビューポートが同じJTextAreaにありますか?
- 18. 同じページに複数のwmdテキストエリアがあります
- 19. 同じ領域に複数の断片がありますか?
- 20. 複数の「コンテンツビュー」が同じxibにあります
- 21. 同じ行に複数のテーブルがあります
- 22. Highcharts.js - 複数のテーマが同じページにありますか?
- 23. 複数の場所で同じチェックボックスを処理する
- 24. ヒストリ - テキストを所定の場所にスクロールする(上矢印 - >場所にあるコマンドは同じだが同じ場所)
- 25. 複数のDISQUSは同じページにありますか?
- 26. Java - 数値ゲーム - 複数のActionListenerが同じクラスにあります
- 27. GoogleマップAPI V3 - 同じ地図上にマーカーを持つ2つの場所
- 28. 複数のサイトが同じディレクトリにありますがデータベースは別々です
- 29. 同じ場所に複数のファイルを一括更新するVBAマクロ
- 30. 同じ/異なるインスタンスを複数のViewModelが同じドメインオブジェクトに要求する必要がありますか?
[ロング/ LATまったく同じでマルチマーカーを爆発するmarkerClusterer V3にSpiderfier JSの統合]の可能な重複(http://stackoverflow.com/questions/9726920/integrating-spiderfier-js-into-markerclusterer -v3-to-explode-multi-marker-with) – geocodezip
@geocodezipは、必要を満たさないため、OverlappingMarkerSpiderfierを使用せずに動作させる方法です。 2つ以上のマーカーがあることを知るために、両方のマーカーをわずかなスペースで表示します。ありがとう。 – Grish
もちろんあります。それをコードするだけです。または、重複がないように入力データを変更します。 – geocodezip