Filtrer les markers par rapport à un périmètre

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.