Je voudrais savoir quel est l'algorithme le plus rapide pour les marqueurs de clustering en PHP?clustering sur le serveur google maps marqueurs
La seule chose dont j'ai besoin de la fonction de cluster est une sortie avec un obj de cluster, qui a des propriétés: lat, lng et size.
puis les marqueurs qui n'étaient pas groupés bien sûr, mais je n'arrive pas à trouver de code php pour cela, et il doit y en avoir?
Je cherche le code-behind qui produirait ce genre de résultat? (Ou peut-être mieux performer). http://maps.forum.nu/server_side_clusterer/
Jusqu'à présent, j'ai essayé avec:
function ClusterMarkers($markers,$ZOOM)
{
$this->load->library('firephp');
$singleMarkers = array();
$clusterMarkers = array();
// Minimum distance between markers to be included in a cluster, at diff. zoom levels
$DISTANCE = (10000000 >> $ZOOM);
// Loop until all markers have been compared.
while (count($markers)) {
$marker = array_pop($markers);
$cluster = array();
// Compare against all markers which are left.
foreach ($markers as $key => $target) {
$pixels = abs($marker['lat']-$target['lat']) + abs($marker['lng']-$target['lng']);
$this->firephp->log('pix :'.$pixels);
if ($pixels < $DISTANCE) {
unset($markers[$key]);
$cluster[] = $target;
}
}
// If a marker has been added to cluster, add also the one we were comparing to.
if (count($cluster) > 0) {
$cluster[] = $marker;
$clusterMarkers[] = $cluster;
} else {
$singleMarkers[] = $marker;
}
}
return array('singlemarkers' => $singleMarkers, 'clustermarkers' => $clusterMarkers);
}
Mes données est jsonized alors, mais le tableau clustermarkers contient toutes les markerdata, et je me demande comment je effectivement simplement définir une latitude , lng et une taille sans avoir à recalculer à ressourcedemanding chaque fois qu'un nouveau marqueur est ajouté.
Qu'avez-vous à ce jour? – diagonalbatman
@Andy Paton - J'ai édité la question - bon point =) – Jakob
Bien que je ne comprenne pas complètement ce que vous essayez d'atteindre, il serait plus efficace si vous pouviez réécrire votre fonction afin qu'elle ne contienne pas de boucles imbriquées . – Robin