Les réponses ci-dessus sont plus élégantes, mais j'ai trouvé un moyen rapide et sale qui fonctionne vraiment très bien. Vous pouvez le voir en action sur www.buildinglit.com
Tout ce que j'ai fait a été d'ajouter un décalage aléatoire à la latitude et à la longueur à ma page genxml.php afin qu'elle renvoie des résultats légèrement différents à chaque fois avec un décalage chaque fois que la carte est créée avec des marqueurs. Cela ressemble à un hack, mais en réalité, vous n'avez besoin que des marqueurs pour déplacer un léger coup de pouce dans une direction aléatoire pour qu'ils soient cliquables sur la carte s'ils se chevauchent. Cela fonctionne vraiment très bien, je dirais mieux que la méthode de l'araignée, car qui veut faire face à cette complexité et les faire jaillir partout. Vous voulez simplement pouvoir sélectionner le marqueur. Le pousser au hasard fonctionne parfaitement.
Voici un exemple de création de nœud d'itération d'instruction while dans mon 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);
Remarquez sous lat et long, il y a le + offset. à partir des 2 variables ci-dessus. J'ai dû diviser au hasard par 0,1000 par 10000000 afin d'obtenir une décimale suffisamment petite au hasard pour déplacer à peine les marqueurs. N'hésitez pas à bricoler cette variable pour en obtenir une plus précise pour vos besoins.