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. GoogleMaps Markerclusterer InfoWindow同じ場所、クラスタからマーカーからコンテンツを取得
- 2. 複数の同じ場所にあるアイテムを返す
- 3. 同じ場所にある複数のjQuery
- 4. 複数のマーカーがあるGoogleマップとマーカーを指す場所のリスト
- 5. markerClustererを削除したいときmapがmax。 1つ以上のマーカーが同じ場所にあるときのズームレベル
- 6. 地図上に複数の場所があります
- 7. Nginx複数の場所に異なるルーツがあります
- 8. 相対レイアウトが同じ場所に繰り返し複数のビューを表示
- 9. 複数のバージョンのEclipseを同じ場所にインストールする
- 10. Bokeh - 同じページに複数の数字があります
- 11. パンダPyplot複数のマーカー、同じライン
- 12. 複数のマーカー - 同じ座標
- 13. 同じID値を複数回使用して同じ場所にアンカーする
- 14. PERFORCEの複数のチェンジリストに同じファイルがあります
- 15. 同じセルにExcelの複数の基準があります。
- 16. 同じIPの443ポートに複数のドメインがあります
- 17. 同じタブの下に複数のアクティビティがあります
- 18. 同じページに複数のCodeMirrorテキストエリアのインスタンスがあります
- 19. 同じページにckeditorの複数のバージョンがあります
- 20. Ant:同じファイルセットを複数の場所にコピー
- 21. 同じアプリケーション内に複数のFlaskオブジェクトがあります
- 22. 角2同じページに複数のコンポーネントがあります
- 23. mediaelement.js同じページに複数の動画がありますか?
- 24. 同じページに複数のwmdテキストエリアがあります
- 25. python tkinterアプリケーション複数の行に同じテキストがあります
- 26. PyQt:同じ行に複数のラベルがあります
- 27. SQL:同じテーブルに複数の一致がありますか?
- 28. 同じ領域に複数の断片がありますか?
- 29. Highcharts.js - 複数のテーマが同じページにありますか?
- 30. 複数のビューポートが同じJTextAreaにありますか?
[ロング/ 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