Получить WOEID в Android

Я разрабатываю приложение, и одна из функций, которые я хочу включить, — это возможность получать местоположение пользователей и преобразовывать его в значение WOEID, а затем получать данные о погоде из RSS-канала Yahoo Weather. Вот документация, в которой указано требование для значения WOEID: http://developer.yahoo.com/weather/


person Buneme Kyakilika    schedule 14.01.2013    source источник


Ответы (1)


Вы можете получить WOEID, используя Yahoo! API PlaceFinder. Сначала вам нужно запросить ключ API, затем вы можете отправить свой запрос следующим образом:

http://where.yahooapis.com/geocode?q=[search query]&appid=[yourappidhere]

Вы получите это в ответ:

<ResultSet xmlns:ns1="http://www.yahooapis.com/v1/base.rng" version="2.0" xml:lang="en-US">
<Error>0</Error>
<ErrorMessage>No error</ErrorMessage>
<Locale>en-US</Locale>
<Found>1</Found>
<Quality>85</Quality>
<Result>
<quality>85</quality>
<latitude>38.898708</latitude>
<longitude>-77.036369</longitude>
<offsetlat>38.89719</offsetlat>
<offsetlon>-77.036537</offsetlon>
<radius>400</radius>
<name/>
<line1>1600 Pennsylvania Ave NW</line1>
<line2>Washington, DC 20500-0005</line2>
<line3/>
<line4>United States</line4>
<house>1600</house>
<street>Pennsylvania Ave NW</street>
<xstreet/>
<unittype/>
<unit/>
<postal>20500-0005</postal>
<neighborhood/>
<city>Washington</city>
<county>District of Columbia</county>
<state>District of Columbia</state>
<country>United States</country>
<countrycode>US</countrycode>
<statecode>DC</statecode>
<countycode>DC</countycode>
<uzip>20500</uzip>
<hash>4216F67AA1A143E9</hash>
<woeid>12766118</woeid> // This is what you need
<woetype>11</woetype>
</Result>
</ResultSet>

Вы можете проанализировать ответ для тега <woeid>.

Редактировать:
Если у вас есть EditText и вы хотите получить погоду на основе города, который вы получили из его ввода, вам придется сделать это:

String searchQuery = Uri.encode(myEditText.getText().toString());

Теперь у вас будет поисковый запрос. Так, например, если пользователь вводит:

Гамбург, Германия

то это преобразует его в:

Гамбург_Германия

person Ahmad    schedule 14.01.2013
comment
Это XML-ответ, вы можете проанализировать его с помощью анализатора XML (DOM, SAX или pullparser). - person Ahmad; 15.01.2013
comment
Что входит в [поисковый запрос]? - person Buneme Kyakilika; 17.01.2013