Wie man Yahoo woeid durch die Position?
//Get woeid by lati/long
HttpGet hg = new HttpGet(
"http://where.yahooapis.com/geocode?location=" + latlon + "&flags=J&gflags=R)");
HttpClient hc = new DefaultHttpClient();
HttpResponse weatherHR = hc.execute(hg);
if (weatherHR.getStatusLine().getStatusCode() != HttpStatus.SC_OK) {
if (DEBUG)
Utils.log("", "Location != HttpStatus.SC_OK");
return null;
}
Habe ich diese API und es funktioniert ok vor, aber Es wieder ein Fehler seit heute, das Ereignis HttpStatus.SC_OK ist nicht OK. Hat diese API geschlossen worden? Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, es ist geschlossen, sehen Sie hier:
http://soup.metwit.com/post/47181933854/an-alternative-to-yahoo-weather-api
Yahoo bewegt hat zu einem bezahlten Dienst namens BOSS aber Sie bieten eine nicht-kommerzielle service:
Mit Placefinder können Sie reverse-lookup-Längen-und Breitengrad:
http://developer.yahoo.com/yql/console/?q=select%20*%20from%20geo.placefinder%20where%20text%3D%2237.416275%2C-122.025092%22%20and%20gflags%3D%22R%22
kann umgewandelt werden in eine json-Anforderung:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20text%3D%2237.416275%2C-122.025092%22%20and%20gflags%3D%22R%22&format=json
Einen
city
können auch verwendet werden, alslocation
wie folgt:Wo
"frankfurt"
kann ersetzt werden durch beliebigen Ort der Wahl.Um die Yahoo Wetter WOEID von breiten-und Längengrad, können Sie diese
Und Sie erhalten eine Antwort wie die folgende:
Wenn noch jemand braucht, answear. Sie haben grundlegende URL:
Jetzt haben Sie, um die richtige YQL-statement (ersetzen Sie Stadt mit Ihren Stadt-name) e.x.
Nun müssen Sie Kodieren, zu URI. Sie können javascript-Methode: alsterrunde().
Dann haben Sie zu verschmelzen basicURL und codiert YQL-statement und
So beispielsweise der ganze link für San Francisco werden:
Nun von Antwort, die Sie haben, um WOEID-Nummer. Sie können es, indem Sie:
query - >Ergebnisse - >Ort>[0]>woeid
So, in Javascript wird es etwas sein wie: