Как я могу получить поблизости города из данного города?

StackOverflow https://stackoverflow.com/questions/4645183

  •  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. Если меньше, вы можете вернуть его как город в диапазоне.

Это не то, что вы делаете через несколько минут

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top