final String FORECAST_BASE_URL =
"http://api.openweathermap.org/data/2.5/forecast/daily?";
final String QUERY_PARAM = "q";
你好。我在做一个天气预报应用。但是当我使用“http://openweathermap.org”的API时,我遇到了麻烦,我如何才能获得城市代码或ID "q"?我试图找到城市ID,但我找不到。
按城市ID调用示例代码:
api.openweathermap.org/data/2.5/forecast/daily?id=524901
我听说"q“也用来表示"id”。我是说
api.openweathermap.org/data/2.5/forecast/daily?q=524901
也是可能的。我想这样做。
那么,如何查找城市id呢?有人知道吗?
发布于 2015-01-11 11:58:48
在OpenWeatherMap支持中心也有类似的问题。这里是链接OpenWeatherMap
此外,还有一个指向城市列表及其各自ID的链接(只需按CTRL +F组合键即可找到您想要的城市):List of Cities & IDs
发布于 2015-07-22 12:00:39
城市of的完整列表可从以下地址下载:http://bulk.openweathermap.org/sample/city.list.json.gz
您可以手动搜索该文件(在解压缩后)以查找您的城市名称,或者从shell中搜索,如下所示:
grep -i "london" city.list.json
关于"q“与"id”查询标记:您可以使用"q“标记按城市(和国家)进行搜索,如下所示:
http://api.openweathermap.org/data/2.5/forecast/daily?q=London,GB
(请注意,国家/地区代码不是必需的)
只要不存在关于哪个城市的问题,这就是可行的。但是,如果在一个国家/地区有多个相同名称的城市,在上面链接的列表中找到正确的标识符后,可以使用CityID指定某个城市,如下所示:
http://api.openweathermap.org/data/2.5/forecast/daily?id=2643743
它还返回伦敦的天气,但确保您不会意外获得美国肯塔基州伦敦或美国俄亥俄州伦敦的天气,如果您选择在"q“标签中不使用国家代码的话。
发布于 2017-04-21 18:17:17
使用openweathermap,您需要创建一个帐户 here 。之后,您可以生成一个将在地址栏中使用的API密钥...如下所示:
http://api.openweathermap.org/data/2.5/forecast?id=524901&APPID=*******************************
只需用生成的密钥替换星号即可
https://stackoverflow.com/questions/27883777
复制相似问题