Найти города в радиусе мили от адреса - PullRequest
1 голос
/ 19 октября 2011

Я использую CakePHP / mysql для создания своего приложения, и я пытаюсь получить список городов в радиусе заданной мили вокруг адреса, предоставленного пользователем.Пока у меня есть список всех городов США в базе данных с длинным / лат.Я также использую плагин CakePHP, чтобы получить длинный / лат всех адресов, вставленных в базу данных.

Теперь, как мне сделать последнюю часть?Я новичок в API карт Google, но, похоже, существует ограничение на количество запросов в день.Единственный способ, которым я могу подумать, это проверить расстояние от адреса и сравнить его с каждым городом в базе данных, и если он находится в пределах заданного радиуса, они выбираются.Похоже, что это было бы слишком интенсивно для базы данных, и я бы передавал свои квоты запросов за один раз.

Есть идеи?

1 Ответ

0 голосов
/ 19 октября 2011

Звучит так, как будто вы пытаетесь определить, находится ли данная точка (город) внутри круга с центром в определенном широте / долготе. Вот похожий вопрос .

Запустите цикл над каждым городом и посмотрите, удовлетворяет ли он следующему условию:

if ((x-center_x) 2 + (y-center_y) 2 <= радиус <sup>2 )

Если это слишком медленно, вы можете превратить его в поиск, основанный на округлении широты / долготы. Чем больше значений вы вычисляете, тем ближе к точному вы можете получить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...