Powyższe odpowiedzi są bardziej eleganckie, ale znalazłem szybki i brudny sposób, który działa naprawdę niesamowicie dobrze. Możesz to zobaczyć w akcji na www.buildinglit.com
Wszystko, co zrobiłem, to dodanie losowego przesunięcia do szerokości i długości geograficznej na mojej stronie genxml.php, więc za każdym razem zwraca nieco inne wyniki z przesunięciem za każdym razem, gdy mapa jest tworzona ze znacznikami. Brzmi to jak włamanie, ale w rzeczywistości wystarczy, że znaczniki przesuną się nieznacznie w losowym kierunku, aby można je było kliknąć na mapie, jeśli nachodzą na siebie. Właściwie działa naprawdę dobrze, powiedziałbym, że lepiej niż metoda pająka, ponieważ kto chce poradzić sobie z tą złożonością i mieć je wszędzie. Chcesz tylko móc wybrać znacznik. Podsuwanie jej losowo działa idealnie.
Oto przykład tworzenia węzła iteracji instrukcji while w moim php_genxml.php
while ($row = @mysql_fetch_assoc($result)){ $offset = rand(0,1000)/10000000;
$offset2 = rand(0, 1000)/10000000;
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("name", $row['name']);
$newnode->setAttribute("address", $row['address']);
$newnode->setAttribute("lat", $row['lat'] + $offset);
$newnode->setAttribute("lng", $row['lng'] + $offset2);
$newnode->setAttribute("distance", $row['distance']);
$newnode->setAttribute("type", $row['type']);
$newnode->setAttribute("date", $row['date']);
$newnode->setAttribute("service", $row['service']);
$newnode->setAttribute("cost", $row['cost']);
$newnode->setAttribute("company", $company);
Zauważ, że pod szerokością i długością znajduje się przesunięcie +. z 2 zmiennych powyżej. Musiałem podzielić losowo przez 0,1000 na 10000000, aby uzyskać liczbę dziesiętną, która była losowo wystarczająco mała, aby ledwo przesuwać znaczniki. Możesz majstrować przy tej zmiennej, aby uzyskać taką, która jest bardziej precyzyjna dla Twoich potrzeb.