java解析json获取天气预报城市代码,怎么利用天气预报接口根据城市名得到城市代码?...

你说的应该是用的中央气象台API所需要的城市代码吧。

先把代码表存储到一个plist文件中

然后:

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"cityList" ofType:@"plist"];

_areaidDictionary = [[NSDictionary alloc] initWithContentsOfFile:plistPath];

areaidDictionary是区域id的字典

之后用

- (void)transToareaidfromLocation:(CLLocation *)location {

self.areaid = nil;

self.geocoder = [[CLGeocoder alloc] init];

[self.geocoder reverseGeocodeLocation:location

completionHandler:^(NSArray *placemarks, NSError *error) {

if (error == nil && [placemarks count] > 0) {

CLPlacemark *placemark = [placemarks objectAtIndex:0];

self.city = placemark.locality;

self.areaid = self.areaidDictionary[self.city];

NSLog(@"city:%@",self.city);

NSLog(@"areaid:%@",self.areaid);

} else if (error == nil && [placemarks count] == 0) {

NSLog(@"No location results were returned");

} else if (error != nil) {

NSLog(@"An error occurred:%@",error.description);

}

}];

}

在反地理编码的同时,利用字典找到areaid。

areaid就是你要的城市代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值