У меня есть база данных ресторанов с их точным адресом, и теперь, когда пользователь ищет ресторан со своего мобильного устройства, я хочу показать ему ресторан в порядке расстояния от его текущего местоположения, чтобы ресторан, который в итоге результат очень близок. Каков наилучший способ сделать это?поиск ресторана на основе текущей геолокации
-1
A
ответ
0
Вы можете использовать то, что называется Haversine formula.
Ниже приведен пример для PHP/MySQL, но запрос по-прежнему нужен.
$sql = "SELECT *, (3959 * acos(cos(radians(" . $lat . ")) * cos(radians(lat)) * cos(radians(lng) - radians(" . $lng . ")) + sin(radians(" . $lat . ")) * sin(radians(lat)))) AS distance FROM your_table HAVING distance < 5";
Где $lat
и $lng
координаты вашей точки, и широта/LNG ваши столбцы таблицы. Вышеуказанное будет содержать список местоположений в диапазоне 5 нм. Заменить 3959
на 6371
, чтобы перейти в километры.
Эта ссылка может быть полезна: https://developers.google.com/maps/articles/phpsqlsearch_v3
Вы можете добавить предложение order by
заказать результаты по distance
.
Смежные вопросы
- 1. Перенаправление, основанное на текущей геолокации пользователя
- 2. Список на основе геолокации Сортировка
- 3. Репликация MySQL на основе геолокации
- 4. Algolia Ipaddress основан поиск геолокации
- 5. Динамический лист стилей на основе геолокации посетителя
- 6. Уведомление о размещении на основе геолокации
- 7. Как контролировать аутентификацию meteorjs на основе геолокации?
- 8. Получить ближайшее расстояние на основе геолокации
- 9. Тестирование геолокации на основе IP-адресов
- 10. Cordova - Определить страну пользователей на основе геолокации
- 11. как автоизбрать язык сайта на основе геолокации
- 12. Форма отправки на основе IP или геолокации
- 13. Состояние на основе текущей модели
- 14. html5 поиск по геолокации радиус
- 15. API Google Maps & Places предлагает бизнес на основе геолокации android
- 16. Меню ресторана
- 17. Поиск на основе поиска на основе AJAX
- 18. Поиск на основе контента?
- 19. Поиск в текущей модели
- 20. Поиск геолокации с помощью HTML/JavaScript
- 21. База данных/геолокации. Поиск людей поблизости
- 22. Как автозаполнять поиск ресторана пользователя с помощью API Google
- 23. «Родной» геолокации против «PhoneGap на базе» геолокации Особенности
- 24. Строка запроса MySQL на основе текущей строки
- 25. Результаты запроса на основе текущей даты
- 26. установить div на основе текущей высоты таблицы
- 27. Угловая фильтрация на основе текущей даты
- 28. изменить значения rangevalidator на основе текущей даты
- 29. Таблица обновлений на основе текущей записи
- 30. Вычисление «спринта» на основе текущей даты
Ознакомьтесь с [Местами поиска по поиску] (https://developers.google.com/maps/documentation/javascript/places#place_search_requests), существует опция 'google.maps.places.RankBy.DISTANCE', которая будет делать то, что вы хотите. – MrUpsidown
Я хочу найти ближайший из тех ресторанов, чье геоположение (широта и долгота), которые я сохранил в своей собственной БД. От пользователя я получу его геолокацию, которую я могу получить с помощью HTML5. – hitesh
Хорошо. Какую базу данных вы используете? Все это информация, которую вы должны задать в своем вопросе на первом месте. Вы получите более быстрый ответ, если ваш вопрос будет ясным и полным. – MrUpsidown