Używam MarkerClusterer. Kiedy mam dwa lub więcej znaczników w tym samym miejscu, API wyświetla tylko 1 znacznik - górny. Ale jakoś chcę pokazać wszystkie znaczniki, ponieważ każdy będzie otwierał wyraźne wyskakujące okienko. Szukałem znaleźć kilka rozwiązań, ale żaden nie wydaje się działać Ktoś miał podobny problem i czy pls mają rozwiązanie?Więcej niż jeden znacznik w tym samym miejscu - MarkerClusterer
11
A
Odpowiedz
23
Wreszcie się udało. Dotyczy to wszystkich tych, którzy jeszcze nie znaleźli rozwiązania. Poniżej kod dodaje przesunięcie do znaczników w tej samej lokalizacji:
W funkcji createMarker
dodać ten kod:
//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);
}
}
}
update'u google.maps.Marker
obiekt dla każdego markera z nową wartością pozycji - 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);
Powiązane problemy
- 1. Dodać więcej niż jeden wykres w samym ipython komórce Notebook
- 2. Więcej niż jeden szablon w tym samym komponencie w AngularJS 1.5
- 3. Mysqldump więcej niż jeden stół?
- 4. blok synchronizowany - blokuj więcej niż jeden obiekt
- 5. drools: zasady wykonywane więcej niż jeden raz
- 6. występuje więcej niż jeden modalview w appdelegate
- 7. Draw więcej niż jeden krzywe funkcyjnych w tej samej powierzchni
- 8. MATLAB R2014b: Rendering działek z linii w tym samym miejscu
- 9. Jak wymienić więcej niż jeden raz?
- 10. jQuery: więcej niż jeden uchwyt dla tego samego zdarzenia
- 11. Klasa jest połączona więcej niż jeden raz w celu
- 12. Wyświetlanie liczbę całkowitą jako tekst dla wielu trzpieni o jeden pin w tym samym miejscu na mapie w Android
- 13. Dlaczego nie mogę zaktualizować więcej niż jednej kolumny w tym samym czasie używając słowa kluczowego "Z"?
- 14. Jak mogę odnieść się do tabeli TYMCZASOWEJ więcej niż raz w tym samym zapytaniu?
- 15. Szyny: Łatwy sposób dodania więcej niż jednego błysku [: notice] w tym samym czasie
- 16. Zapobiegaj więcej IO z wieloma potokami na tym samym RDD
- 17. Więcej obiektów w pamięci o tym samym id?
- 18. Sprawdź, czy zmienna istnieje więcej niż jeden raz w tablicy?
- 19. UITableView cellForRowAtIndexPath nazywa więcej niż jeden raz w każdym wierszu
- 20. nie może append_entry FieldList w Kolba-wtf więcej niż jeden
- 21. Apollo (GraphQL) pobiera więcej niż jeden element w zapytaniu
- 22. Czy w Sitemesh można dekorować więcej niż jeden raz?
- 23. Szyny 3 find_or_create przez więcej niż jeden atrybut mongoid
- 24. MonitoredTrainingSession zapisuje więcej niż jedno zdarzenie metagraph na jeden bieg
- 25. Android - bindService więcej niż raz
- 26. .htaccess odmówić dostępu do określonych plików? więcej niż jeden
- 27. Error: Błąd: Znaleziony element String/photoPickerNotFoundText więcej niż jeden raz
- 28. Jak podać licznik, jeśli istnieje więcej niż jeden Powiadomienia
- 29. „Więcej niż jeden element znalezionych dla lokalizatora” ostrzeżenie
- 30. Jak mogę wdrożyć opcję Porównywalne więcej niż jeden raz?
możliwe duplikat [Integracja Spiderfier JS w markerClusterer V3 eksplodować wielo-markerów z dokładnie tym samym długi/ac] (http://stackoverflow.com/questions/9726920/integrating-spiderfier-js-into-markerclusterer -v3-to-explode-multi-markery-with) – geocodezip
@geocodezip jest sposobem na sprawne działanie bez użycia OverlappingMarkerSpiderfier, ponieważ nie spełnia wymagań. Pokazywanie obu znaczników z małą ilością miejsca, aby wiedzieć, że są dwa lub więcej markerów. Dzięki. – Grish
Oczywiście, że istnieje. Po prostu zakoduj to, aby to zrobić. Lub zmień dane wejściowe, aby nie było duplikatów. – geocodezip