I was using Google Weather API to fetch weather info, but apparently Google had stopped its service. And I am trying to switch to Yahoo Weather API now.
var WOEID = 2502265; //random WOEID
$.ajax({
url: "=" + WOEID + "&u=c",
dataType: 'json',
success: function(data) {
console.log(data);
}
});
However, is there a way that I can get the WOEID by JavaScript only? Because back then I can just do
;weather=NYC
and that's it.
It says on the Yahoo weather API page,
To find your WOEID, browse or search for your city from the Weather home page. The WOEID is in the URL for the forecast page for that city. You can also get the WOEID by entering your zip code on the home page.
But I want to get it by JavaScript, not manually go to weather.yahoo and find out the WOEID.
Don't care about the Cross-Origin Policy because I am using it in an Chrome extension and it does not apply.
I was using Google Weather API to fetch weather info, but apparently Google had stopped its service. And I am trying to switch to Yahoo Weather API now.
var WOEID = 2502265; //random WOEID
$.ajax({
url: "http://weather.yahooapis./forecastjson?w=" + WOEID + "&u=c",
dataType: 'json',
success: function(data) {
console.log(data);
}
});
However, is there a way that I can get the WOEID by JavaScript only? Because back then I can just do
http://www.google./ig/api?hl=en&weather=NYC
and that's it.
It says on the Yahoo weather API page,
To find your WOEID, browse or search for your city from the Weather home page. The WOEID is in the URL for the forecast page for that city. You can also get the WOEID by entering your zip code on the home page.
But I want to get it by JavaScript, not manually go to weather.yahoo. and find out the WOEID.
Don't care about the Cross-Origin Policy because I am using it in an Chrome extension and it does not apply.
Share Improve this question edited Sep 15, 2012 at 5:11 Derek 朕會功夫 asked Sep 15, 2012 at 4:48 Derek 朕會功夫Derek 朕會功夫 94.3k45 gold badges196 silver badges253 bronze badges4 Answers
Reset to default 8Okay I got to know from your ments what exactly you want
You have a place name and you want to get the WOEID of that place name using javascript ajax calls
The url to get that is not defined any where you have to use GeoPlanet service to resolve a place to a WOEID
http://where.yahooapis./v1/places.q('Place name')?appid=[yourappidhere]
OR you have to use Direct YQL some what like this ( use percent encoding in the url for your city name ) appropriately and try doing an ajax call to this
http://query.yahooapis./v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22Place%20name%22&format=xml
you can get it from yahoo too http://developer.yahoo./geo/geoplanet/guide/concepts.html
API Reference
DECEMBER 2018 UPDATE:
Definitely use the Direct YQL technique mentioned above by @aravind.udayashankara. I messed around with the yboss api for awhile only to see it has been discontinued (https://developer.yahoo./boss/search/) even though Yahoo still has plenty of documentation on it online.
Try the following instead (it runs off the page but there is code within the URL).
yourLocation = "location" (zip, city name, etc.)
urlQuery = "https://query.yahooapis./v1/public/yql?q=select+*+from+geo.places+where+text%3D%22" + yourLocation + "%22&format=json"
To get the Woeid by city name
using (WebClient wc = new WebClient())
{
string results = wc.DownloadString("http://query.yahooapis./v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22" + CityName + "%22&format=xml");
}
See this article for more details