Ответ 1 · рейтинг 1 · mark
вы можете использовать мой класс Lib и поведение для геокодирования двух вещей: http://www.dereuromark.de/2012/06/12/geocoding-with-cakephp/
тогда у вас есть координаты для них обоих, и вы можете использовать эту информацию, чтобы получить свои результаты.
so
- добавить поля широты/долготы в ваши таблицы (штаты и пригороды)
- запустите save() для каждого из них, чтобы геокодировать поле адреса (имя, вероятно, здесь)
- использовать теперь сохраненные поля широты / долготы для определения расстояний и т. д.
PS: вы, скорее всего, получите результаты геокодирования, которые уже сообщат вам, в каком штате находится пригород. Так что вы можете извлечь эту информацию по пути. это будет более точным, чем попытка использовать расстояния, особенно в небольших штатах, расстояние может дать вам неправильный результат.