2013-02-21 2 views
0

Я слежу за большим учебным пособием, которое позволяет пользователю вводить почтовый индекс, тогда ListView отображает места по всему миру, которые соответствуют почтовому индексу. После нажатия на адрес из заполненного ListView его позиция отображается маркером mapView.Выполнение поиска API Google из geonames

Я проработал этот учебник и стал разбираться с веб-службами HTTP. В настоящий момент код использует онлайн-сервис из базы данных «geonames» для запроса поставленного кода . Теперь я хочу внедрить Google API в свой код для поиска супермаркетов.

В GeoNames использует ответ JSON с прилагаемого почтового кода в следующем формате:

{"postalCodes":[{"adminName2":"El Paso","adminCode2":"041","adminCode1":"CO","postalCode":"80907","countryCode":"US","lng":-104.817034,"placeName":"Colorado Springs","lat":38.876001,"adminName1":"Colorado"}]} 

выше строка из почтового кода «80907».

Это строка URL для GeoNames:

private static final String GEONAME_RESTURL 
    = "http://api.geonames.org/postalCodeSearchJSON?maxRows=8&username=demo&postalcode="; 

Я прочитал документацию API Google и нашел следующую «близлежащий поиск request'search строку:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=AddYourOwnKeyHere 

Вот является код, возвращающий соответствие почтового индекса:

DataWrapper wrap = new DataWrapper(); 
wrap = wrap.fromJson(responseString); 
return wrap.postalCodes; 

Как я могу найти отсюда возвращенная строка поиска JSON, как показано выше, с результатом geoname для строки поиска Google для супермаркетов?

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

Надеюсь, что я был достаточно ясен с этим вопросом !.

ответ

1

Похоже, мне удалось это решить, просто используя API-интерфейс geonames. Я не уверен, что он такой же полный, как Google API, но хорошо стоит с его регистрацией.