J'écris un site qui cherche essentiellement des endroits dans un rayon de 25 mile d'un lat et long en utilisant php et mysql. Je me demande comment quelque chose comme ça fonctionnerait?PHP MySql et la géolocalisation
Je voudrais passer un lat et long à la scrip et le faire retirer seulement les emplacements qui sont dans les 25 miles du lat et long de ma base de données de lieux.
Quelle est la meilleure façon de faire cela?
EDIT: J'ai trouvé ce code pour calculer la distance entre 2 points.
function distance($lat1, $lon1, $lat2, $lon2, $unit) {
$theta = $lon1 - $lon2;
$dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
$dist = acos($dist);
$dist = rad2deg($dist);
$miles = $dist * 60 * 1.1515;
$unit = strtoupper($unit);
if ($unit == "K") {
return ($miles * 1.609344);
} else if ($unit == "N") {
return ($miles * 0.8684);
} else {
return $miles;
}
}
est-ther une façon de le faire dans le calc MYSQL ne regarder que pour que je puisse retourner si miles = < 25?
D'où tire-t-il les autres emplacements? Avez-vous tous lat/long stocké dans un tableau ou une base de données? – shamittomar
J'ai modifié la question. Je vais avoir certains endroits dans ma base de données et je verrai si l'un d'entre eux sont dans les 25 miles. Sinon, aucun n'est retourné. – shaneburgess
un peu plus d'informations ici: http://stackoverflow.com/questions/20865747/geolocation-mysql-query – miralong