Dans cet exemple d’application, nous utiliserons principalement la méthode new google.maps.Circle ainsi qu’une fonction nommée “distance” qui se chargera de calculer la distance entre 2 points.
L’idée est donc la suivante :
Au premier click sur la map, on définit le centre du cercle. Apparaît alors un picto rouge sous forme de punaise.
Au second click, on affiche un second picto rouge. La distance entre ces 2 points définira le rayon du cercle, ou plutôt dans notre cas, du périmètre.
La méthode new google.maps.Circle est alors appelée avec comme options le rayon et le centre.
Au même instant, nous comparons la distance entre tous nos markers et le centre du cercle afin de vérifier que cette distance est bien inféreure au rayon du cercle.
Si tel est le cas, nous affichons le marker (de facto à l’intérieur de notre cercle), le cas échéant on le supprime de la map s’il y figurait.
NB : il est possible de déplacer les markers rouges définissant le cercle afin de faire varier son centre ou son rayon.














7 février 2011 à 17 h 39 min
Bonjour,
Serait-il possible de disposer du script de cette démonstration très intéressante ?
Je viens de recoder mon site en API V3 et je pense insérer cette fonctionnalité.
Merci et bravo pour votre investissement !
14 février 2011 à 18 h 36 min
Bonjour,
Je trouve cet exemple trés pertinent.
Avez-vous l’intention de publier le code, ce qui me serait bien utile :)) ?
Avec toutes mes félicitations
16 février 2011 à 8 h 32 min
Bonjour Christian,
L’idée est effectivement dans les tuyaux.
Une question de temps…
A suivre.
11 mai 2011 à 13 h 35 min
Bonjour,
Félicitation pour ce code, vraiment très intéressant. J’avoue que, comme Christian, ce code me serait fort utile.
Je reste attentif, dans l’espoir de le voir éventuellement sur votre page.
Merci de vos idées !!
27 mai 2011 à 13 h 34 min
Bonjour,
Merci pour ce code, je cherche un peu la même chose sauf qu’au lieu de faire un cercle, à partir d’un point, trouver les 3 plus proches.
En fait je sait pas trop par ou commencer… lol
Si vous avez une idée ?
Merci