Требование: в настоящее время я работаю над приложением, которое содержит более 30000 записей. Требуется наличие поиска на основе местоположения. Например, в пределах 5 миль от моего текущего местоположения.
Как будет осуществляться доступ к этой службе. Доступ к этой службе будет осуществляться как из Интернета, так и из приложения для iOS.
Платформы разработки:
- Веб: Cakephp, php и python
- БД: MySql
- iOS: цель-c
- В настоящее время используются внешние библиотеки: Google Maps Javascript Api v3
Поиск на основе местоположения
Я провел некоторое исследование по этому поводу и буду использовать для этого формулу Хаверсина. Но для того, чтобы формула Хаверсина была эффективной, мне нужен обратный гео-код для всех моих записей в моей БД. Единственная служба обратного геокодирования, которую я когда-либо использовал, принадлежит Google, и я точно знаю, что они не позволяют этого, не отображая результаты на своей карте.
Примечание. API геокодирования можно использовать только вместе с картой Google; результаты геокодирования без отображения на карте запрещены.
- Существуют ли другие API или службы, которые я могу использовать для обратного геокода всех этих записей?
- 30000 - это большое число. Я, очевидно, буду использовать cron для этого в течение определенного периода времени, но, поскольку этот запрос будет с того же IP-адреса, может ли это быть проблемой?
Любая помощь по этому поводу будет принята с благодарностью.
Обновление 1 #
Я нашел этот вопрос SO, который рекомендует OpenStreetMap Nominatim