Получить обновление погоды текущего местоположения? - PullRequest
2 голосов
/ 04 августа 2011

Что у меня есть: Широта и долгота.

Что я хочу: Получить обновление погоды по этим координатам.

Ответы [ 3 ]

3 голосов
/ 04 августа 2011

Если вы хотите использовать Google Weather API, вам нужно будет передать его в виде города, штата или почтового индекса.Чтобы сделать это, вам понадобится геокодировать ваш лат / лонг, чтобы получить эту информацию.

Вот URL-адрес API погоды Google: http://www.google.com/ig/api?weather=Seattle,WA

Вот пример кода, чтобы взять лат/ long и преобразовать в zip:

Geocoder geocoder = new Geocoder(this, Locale.ENGLISH);

List<Address> addresses = null;

try {
    addresses = geocoder.getFromLocation(latitude, longitude, 3);
} catch (IOException ex) {
    //Handle IOException
}

for (int i = 0; i < addresses.size(); i++) {
    Address address = addresses.get(i);
    if (address.getPostalCode() != null)
        String zipCode = address.getPostalCode();
}

Затем передайте почтовый индекс (или город, штат) в Google Weather API и проанализируйте возвращаемый XML.Удачи!

2 голосов
/ 03 июля 2014

API Google не работает, поэтому вы должны искать альтернативу.http://openweathermap.org/api

1 голос
/ 04 августа 2011

Вам необходимо использовать API. Вы должны будете провести некоторое собственное исследование, вот одно хорошее.

http://www.weather.gov/xml/

...