Intereting Posts
Неустранимая ошибка: допустимый размер памяти 67108864 байт исчерпан (пытался выделить 122880 байт) Удалить первый экземпляр строки с помощью PHP Laravel Chumper Datatable Получение данных в один файл данных из нескольких таблиц MySQL PHP. Каков хороший способ создать короткую буквенно-цифровую строку из длинного хэша md5? Вызовите переменную smarty из html вместо php Как передать массив Javascript через JQuery Post, чтобы все его содержимое было доступно через массив PHP $ _POST? .htaccess переписать переменные GET Простой сценарий рандомизации A / B с PHP реализация следующих и задних кнопок для слайд-шоу Получить запрос, выполненный в Laravel 3/4 Разница в PHP между уведомлением и предупреждением Множественные (oneToMany) Entities образуют генерацию с symfony2 и загрузку файлов PHP – код для перемещения по каталогу и получения всех файлов (изображений) включил php-файл, чтобы узнать его имя? DOMDocument в php

получение расстояния между двумя точками с помощью google gps api с php

Я нашел эту ссылку в Google переполнении стека Google. Как получить расстояние между двумя точками в метре? который показывает следующее решение в отношении нахождения расстояния в км, учитывая два разных значения широты и долготы:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=geometry"></script> var p1 = new google.maps.LatLng(45.463688, 9.18814); var p2 = new google.maps.LatLng(46.0438317, 9.75936230000002); alert(calcDistance(p1, p2)); //calculates distance between two points in km's function calcDistance(p1, p2){ return (google.maps.geometry.spherical.computeDistanceBetween(p1, p2) / 1000).toFixed(2); } } 

Это здорово и работает, однако я создаю приложение, которое вытягивает lat и длинные значения из базы данных и сравнивает каждый с постоянным значением lat и longitude, чтобы определить, находятся ли пользователи, из которых я выхожу из db, в определенном диапазоне набор lat и long.

Я делаю это на PHP, но я хочу передать постоянные значения lat и long вместе с текущими значениями lat и long указанной выше функции JavaScript, вычислить расстояние и затем вернуть значение переменной PHP. Другими словами, я хочу вызвать функцию JavaScript в PHP и вернуть значение JavaScript обратно в переменную PHP.

Я вижу много форумов, которые утверждают, что это невозможно, тогда некоторые говорят, что это так. Может ли кто-нибудь помочь мне с этим или предложить другой подход? мне просто нужно сделать какое-то старомодное исчисление в PHP и забыть плагин Google API?

Solutions Collecting From Web of "получение расстояния между двумя точками с помощью google gps api с php"

Вы можете использовать нижеприведенный запрос, если у вас есть значение широты и долготы в вашей базе данных.

 SELECT a.*, 3956 * 2 * ASIN(SQRT( POWER(SIN(($lat - lat) * pi()/180 / 2), 2) + COS($lat * pi()/180) * COS(lat * pi()/180) * POWER(SIN(($long - longi) * pi()/180 / 2), 2) )) as distance FROM table GROUP BY id HAVING distance <= 500 ORDER by distance ASC 

$ lat и $ long – текущая позиция пользователя. lat и longi – широта и долгота записей.

Также см. « Создание локатора хранилища с PHP, MySQL и Google Maps », чтобы понять, как будет работать запрос выше.