Как получить адрес в хорошо организованном формате

Во-первых, я знаком с Geocoder и Places API. По этой причине я не спрашиваю о том, как я могу получить весь адрес в необработанном формате, используя их. Я ищу официальный адрес где-то. Поскольку места, которые можно получить с помощью Geocoder API, не организованы, я не смог добраться до провинций с двумя разными значениями LatLng, вызвав одну и ту же единицу места. Например, я могу получить город, соответствующий моему текущему местоположению, вызвав .adminArea(), но местоположение моего друга может быть возвращено как его капюшон из .adminArea(). Таким образом, я не смог получить строку города из объекта Geocoder, хотя адрес этого объекта содержит название города.

Есть ли другой API, который может дать мне правильную улицу/населенный пункт/город, если я вызову соответствующие методы? Или есть способ проанализировать адрес объекта Geocoder, чтобы я мог получить самые чистые компоненты адреса?


person Dorukhan Arslan    schedule 28.08.2015    source источник


Ответы (2)


Вы можете попробовать API Bing Maps. Это не Android API как таковой, но вы можете отправлять запросы к RESTful API и получать очень стандартизированные результаты.

Это пример результата JSON (ниже показана только его основная часть):

"address":{
    "addressLine":"1 Microsoft Way",
    "adminDistrict":"WA",
    "adminDistrict2":"King Co.",
    "countryRegion":"United States",
    "formattedAddress":"1 Microsoft Way, Redmond, WA 98052",
    "locality":"Redmond",
    "postalCode":"98052"
}

Locality всегда город, а AdminDistrict всегда штат.

PS: Я использую его в одном из своих проектов, их квоты очень справедливы.

person Paulo Avelar    schedule 28.08.2015
comment
К сожалению, мой проект будет квотным монстром. Таким образом, хотя это кажется хорошей альтернативой, я не мог полагаться на ограничение запросов Bing Maps API. Я должен продолжить работу с Google и найти способ получить адрес должным образом. Но все же ваш ответ в силе. Спасибо. - person Dorukhan Arslan; 28.08.2015
comment
Хорошо. Какое количество запросов в день? Потому что, насколько мне известно, квота Bing такая же, как и у Google, 10 тысяч запросов в месяц. См. это: azure.microsoft.com/en-us/marketplace/ партнеры/bingmaps/mapapis. Кроме того, Google ограничивает количество запросов в секунду до 5, а Bing — нет. - person Paulo Avelar; 28.08.2015
comment
Лимит Google составляет 2500 запросов в день и на IP. - person Dorukhan Arslan; 28.08.2015

Существует множество API для проверки и разбора адресов на составные части. Не пытайтесь решить эту проблему самостоятельно («отойдите от этих регулярных выражений с поднятыми руками!»). Я неравнодушен к smartystreets.com и их услугам, но это потому, что (раскрытие) я там разработчик и помогал большинство из них.

person mdwhatcott    schedule 01.09.2015