google maps api геокодирование - PullRequest
2 голосов
/ 18 мая 2011

Этот вопрос касается геокодирования API Карт Google, я могу геокодировать адрес и показывать местоположение, но это работает, когда адрес действителен.

Когда это недопустимо (есть ошибка), сейчас я показываю смарт-сообщение, в котором говорится, что при получении местоположения произошла ошибка, но требуется показать ближайший возможный местоположение для введенногоадрес.

Как мне получить маркер на следующем лучшем месте?

вот что я пробовал:

Разделите адрес на основе запятых и геокодируйте каждую подстроку, и получите маркер на 1-м совпадении, но это привело кв некоторых огромных ошибках.

Теперь я думаю о том, чтобы:

геокодировать почтовый индекс с помощью API карт Yahoo, но единственная проблема заключается в том, что яНе думаю, что это будет близко к тому, что пользователь ввел в качестве своего адреса.

Какие-либо решения?

Ответы [ 2 ]

3 голосов
/ 18 мая 2011

Тарун, я не уверен, какой API Google вы используете. Но API геокодирования Google допускает частичный поиск адресов и возвращает совпадения, отсортированные по наилучшему соответствию. Таким образом, отображение лучшего местоположения должно быть действительно простым. Посмотрите на эту ссылку ниже. Он возвращает xml, но вы можете запросить json, заменив xml в url на json. Все, что вам нужно сделать, вставить свой частичный адрес в этот URL.

http://maps.googleapis.com/maps/api/geocode/xml?address=holly%20hall&sensor=false

Так что, если этот URL не дает никаких результатов, то, вероятно, можно с уверенностью предположить, что адрес не существует. Надеюсь, что hepls

0 голосов
/ 18 мая 2011

Я ни в коем случае не эксперт Google Maps, но я бы попробовал что-то вроде этого:

1).Получите почтовый индекс 2).Попробуйте найти улицу в этом почтовом индексе

Если найден, отметьте саму улицу и будьте счастливы с этим.

...