Как я могу получить поблизости города из данного города?
-
09-10-2019 - |
Вопрос
Учитывая радиус в 50 км от базового города, мне нужно найти близлежащие города.
Мой скрипт должен быть в PHP ... Есть ли API, чтобы найти это ....
Пожалуйста, пожалуйста, помогите мне ...
Спасибо...
Решение
Это отличный ресурс: Code.google.com/apis/maps/articles/phpsqlsearch.html#findnearsql.
База Город: Лат: 37 СПГ: -122
SELECT id, ( 6371 * acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(-122) ) + sin( radians(37) ) * sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < 50 ORDER BY distance LIMIT 0 , 20;
Тот же принцип, что и решение от «хихикания».
Другие советы
Я написал разные сценарии, которые вычисляют расстояния между координатами. Вы можете сделать это, когда у вас есть 2 координаты:
base :
- latitude
- longitude
city :
- latitude
- longititude
Вы должны пройти в базовых центрах Geo Geo, то вам нужно отправить скручивание на сервер Google или Yahoo (зависит от того, какой Geocoder API вы хотите вас), чтобы получить городские координаты.
Теперь вопрос о том, какие города у вас есть координаты? Если у вас нет ничего, вы можете купить базу данных зоны почки Zipcode (тогда вы можете иметь координаты от города, который вы хотите иметь). Когда у вас есть координаты из города, вы можете запустить сложный расчет в результате расстояния. После этого вы можете посмотреть, если результат / расстояние больше или меньше 50. Если меньше, вы можете вернуть его как город в диапазоне.
Это не то, что вы делаете через несколько минут