Составьте сотни, если не тысячи адресов и выполните поиск по радиусу - PullRequest
0 голосов
/ 05 ноября 2011

В моем веб-приложении у меня есть список предприятий / клиентов и их информация, включая их адрес. Я хотел бы отметить один из них, а затем получить другие компании / клиенты, которые находятся в радиусе X км.

Я бы предпочел управлять X с помощью ползунка, и я бы предпочел также отображать результаты на карте, но ни одна точка не является решающей. Как я должен идти об этом? Google Maps будет хорошим инструментом? Где я могу найти дополнительную информацию или пример этого?

Ответы [ 4 ]

1 голос
/ 05 ноября 2011

Google Maps API должно хорошо работать для этого.

На самом деле объединить его с Fusion таблиц , еще лучше.FT будет размещать вашу базу данных и упростить выполнение «пространственных» запросов к вашим данным (т.е. результаты в пределах X от Y).FT даже интегрирован с API Карт, чтобы отображать результаты вашего запроса прямо на карте .

0 голосов
/ 20 ноября 2011

Попробуйте MySQL пространственные расширения . Если вы не можете реализовать Radius Query, который, я думаю, вы не можете решительно рассмотреть, чтобы переключиться на postgresql + postgis. После миграции эта проблема будет решена через 5 минут.

Также для индивидуального решения взгляните на этот ответ

Cheers

0 голосов
/ 05 ноября 2011

Карты Google не поддерживают локальный поиск. Он предоставляет только API для поиска и установки маркера и определения направления. Там тоже есть несколько красивых карт. То, что вы хотите, это формула harvesine, чтобы искать близкие цели. Вы можете использовать пространственное расширение и искать тайлы или кластеры целей. Это просто приближение. Я не думаю, что FT поддерживает первое или второе. Это просто база данных, похожая на Sqlite, для хранения ваших маркеров.

0 голосов
/ 05 ноября 2011

Если вы хотите использовать библиотеку Javascript с открытым исходным кодом, возможно, немного более гибкую, чем API Google Maps, используйте OpenLayers - и если вы не хотите платить новые сборы API Карт Google, вы можете использовать OpenStreetMap для своегофоновые слои.Сделайте ваш слайдер с чем-то вроде jQuery UI или Dojo и свяжите их с некоторой обработкой событий.Работа выполнена.

Что написано в вашем приложении?Существуют различные геопространственные библиотеки, которые делают пространственные запросы удобными и простыми в большинстве языков.Немного прибегая к помощи googling должен поднять их.Я сомневаюсь, что вам понадобится полная пространственная база данных, но если вы это сделаете, то посмотрите PostGIS - это может сделать что-то вроде поиска всех предприятий в пределах X км от главной дороги (как только вы соберете в нее все данныеКонечно!).

www.osgeo.org - лучшее начало для геопространственного программного обеспечения с открытым исходным кодом.Там много веб-инструментов, баз данных и настольных инструментов.

...