5

Estaba usando Google Weather API para obtener información meteorológica, pero aparentemente Google había detenido su servicio. Y estoy tratando de cambiar a Yahoo Weather API ahora.¿Obtener WOEID del nombre de la ciudad?

var WOEID = 2502265; //random WOEID 
$.ajax({ 
    url: "http://weather.yahooapis.com/forecastjson?w=" + WOEID + "&u=c", 
    dataType: 'json', 
    success: function(data) { 
     console.log(data); 
    } 
}); 

Sin embargo, ¿hay alguna manera de que pueda obtener el WOEID solo por JavaScript? Porque en ese entonces puedo hacer

http://www.google.com/ig/api?hl=en&weather=NYC 

y eso es todo.

que dice en la Yahoo weather API page,

Para localizar a su WOEID, navegar o buscar para su ciudad desde la página principal del tiempo. El WOEID está en la URL de la página de pronóstico para esa ciudad. También puede obtener el WOEID ingresando su código postal en la página de inicio.

Pero quiero obtenerlo mediante JavaScript, no acceder manualmente a weather.yahoo.com y averiguar el WOEID.

No importa la política de origen cruzado porque la estoy usando en una extensión de Chrome y no se aplica.

Respuesta

6

bien llegué a conocer a partir de sus comentarios lo que es exactamente lo que quieren

tiene un nombre de lugar y que desea obtener el WOEID de ese nombre de lugar usando javascript ajax llama a

La URL para obtener eso no está definida en ningún lugar donde tenga que usar el servicio de GeoPlanet para resolver un lugar en un WOEID

http://where.yahooapis.com/v1/places.q('Place name')?appid=[yourappidhere] 

o tiene que utilizar YQL directo algunos lo que como esto (utilización ciento de codificación en el URL de su nombre de la ciudad) de manera adecuada y tratar de hacer una llamada AJAX a este

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22Place%20name%22&format=xml 
+0

Gracias, lo intentaré más adelante. –

+0

Lo siento, pegué la URL incorrecta antes de que la URL correcta esté en la respuesta –

+0

Una mejor manera es obtener datos directamente en json para que puedan manejarse más fácilmente, haciendo format = json. Me gusta- http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22Place%20name%22&format=json – Anant

-1

Para obtener el WOEID por nombre de la ciudad

using (WebClient wc = new WebClient()) 
{ 
string results = wc.DownloadString("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22" + CityName + "%22&format=xml"); 
} 

See this article for more details

Cuestiones relacionadas