Я новичок в Google карте вещей. У меня есть таблица, в которой есть список всех местоположений (расположение супер-магазинов) с их широтой и долготой.
Теперь я хочу знать все возможное местоположение (может b Широта и долгота) этих супер-магазинов, которые находятся в радиусе 10 км от моего текущего местоположения.
Я не знаю, как это сделать, используя карту Google (в php-коде). Какой API карты Google я должен использовать? Любое предложение, код проекта, информация будут полезны для меня
Заранее спасибо
Поиск Radius с помощью Google Maps и MySQL
https://developers.google.com/maps/articles/phpsqlsearch_v3 Посмотрите выше. Должен дать вам хорошую идею.
Чтобы найти местоположения в таблице маркеров, которые находятся в пределах определенного радиуса расстояния заданной широты / долготы, вы можете использовать инструкцию SELECT на основе формулы Хаверсина. Формула Хаверсина обычно используется для вычисления расстояний между двумя парами координат на сфере. Углубленное математическое объяснение дается Википедией и хорошее обсуждение формулы, поскольку она относится к программированию, относится к сайту Movable Type.
Вот инструкция SQL, которая найдет ближайшие 20 местоположений, находящихся в радиусе 25 миль от координаты 37, -122. Он вычисляет расстояние, основанное на широте / долготе этой строки и целевой широте / долготе, а затем запрашивает только строки, где значение расстояния меньше 25, заказывает весь запрос по расстоянию и ограничивает его до 20 результатов. Чтобы выполнить поиск километров вместо миль, замените 3959 на 6371.
Вы можете использовать следующий запрос Mysql, чтобы получить все магазины в пределах указанных миль
select * from stores where lat!='' and lng!='' and ( 3959 * acos( cos( radians(" . $centerpoints['lat'] . ") ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(" . $centerpoints['lng'] . ") ) + sin( radians(" . $centerpoints['lat'] . ") ) * sin( radians( lat ) ) ) ) < " . $distanceInMile