Я хочу найти с определенным значением широты и долготы на входе все расстояния (в км) от этой точки с каждой точкой в базе данных. Для этого я использовал формулу API Googlemaps:
Код: Выделить всё
( 6371 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) )
Ниже приведен мой код. Проблема в том, что что-то не так, но я не понимаю что. Значение расстояния, конечно, неверное.
Код: Выделить всё
//values of latitude and longitute in input (Rome - eur, IT)
$center_lat = "41.8350";
$center_lng = "12.470";
//connection to database. it works
(..)
//to take each value in the database:
$query = "SELECT * FROM Dati";
$result = mysql_query($query);
while ($row = @mysql_fetch_assoc($result)){
$lat=$row['Lat']);
$lng=$row['Lng']);
$distance =( 6371 * acos((cos(deg2rad($center_lat)) ) * (cos(deg2rad($lat))) * (cos(deg2rad($lng) - deg2rad($center_lng)) )+ ((sin(deg2rad($center_lat))) * (sin(deg2rad($lat))))) );
}
$lat= 41.9133741000
$lng= 12.5203944000
У меня есть вывод distance="4826.9341106926"
Подробнее здесь: https://stackoverflow.com/questions/147 ... a-with-php
Мобильная версия