Géolocalisation et affiliation automatique à un contenu.

Cette fonction permet de calculer la distance entre deux points dont la latitude et la longitude.
La première renvoi des mètres et pour avoir en km c'est indiqué juste après ( Diviser par 1000 ).

Après prendre la plus petite pour savoir quel magasin est le plus proche :

<?php
// renvoi la distance en mètres
function get_distance_m($lat1, $lng1, $lat2, $lng2) {
$earth_radius = 6378137; // Terre = sphère de 6378km de rayon
$rlo1 = deg2rad($lng1);
$rla1 = deg2rad($lat1);
$rlo2 = deg2rad($lng2);
$rla2 = deg2rad($lat2);
$dlo = ($rlo2 - $rlo1) / 2;
$dla = ($rla2 - $rla1) / 2;
$a = (sin($dla) * sin($dla)) + cos($rla1) * cos($rla2) * (sin($dlo) * sin($dlo
));
$d = 2 * atan2(sqrt($a), sqrt(1 - $a));
return ($earth_radius * $d);
}
echo (round(get_distance_m(48.856667, 2.350987, 45.767299, 4.834329) / 1000, 3))
. ' km';
// affiche 391.613 km
?>

Thème: 
DRUPAL
PHP
Location Map
Geolocation