, используя этот запрос от Google: linkпередавая переменный гаверсинус формулы
Im пытается создать поиск местоположения, возвращая все города в пределах заданного расстояния. Я хочу, чтобы люди могли вводить город в форму, мой код набирал lat + long названия города, а затем запрашивал мою базу данных, чтобы возвращать все города на заданном расстоянии.
, чтобы начать, я найти лат + длинный по введенному адресу:
$location = 'farnborough';
function getlatlang($location) {
$geocode = file_get_contents('http://maps.google.com/maps/api/geocode/json?address='. urlencode($location) .'&sensor=false');
$output= json_decode($geocode);
return $output->results[0]->geometry->location;
}
$objlocation = getlatlang($location);
$latitude = $objlocation->lat;
$longitude = $objlocation->lng;
это работает отлично, я могу повторить результат и значения являются правильными.
затем с помощью запроса в ссылке выше, я стараюсь:
$query = "SELECT town, (3959 * acos(cos(radians($latitude)) * cos(radians(lat)) * cos(radians(lng) - radians($longitude)) + sin(radians($latitude)) * sin(radians(lat)))) AS distance FROM uk_postcode_05 HAVING distance < 25 ORDER BY distance ASC LIMIT 0 , 5";
$result = mysqli_query($mysqli, $query);
if(!$result){echo('no result returned - query wrong');
}
но запросы не работает, и всегда запускает ошибку. что я делаю неправильно здесь?
(моя таблица столбцы город, почтовый индекс, широта, долгота)
Какая ошибка возникает? Вы не указали это. – scones
Вы проверили содержимое ошибки $ result->? Сделайте print_r ($ result) – alexg