2012-04-12 53 views
1

我正面临着一个奇怪的问题,试图通过反向地理编码获取当前的城市,州和国家。国家和国家都很好,但城市是“零”。任何人都可以帮助我。当前城市为零;

我使用下面的代码:

- (void)reverseGeocoder:(MKReverseGeocoder*)geocoder didFindPlacemark:(MKPlacemark*)place 
{ 
    NSDictionary *addressDict = place.addressDictionary; 
    self.currentCity = [addressDict objectForKey:(NSString*)kABPersonAddressCityKey]; 
    self.currentState = [addressDict objectForKey:(NSString*)kABPersonAddressStateKey]; 
    self.currentCountry = place.country; 
    self.currentCountryCode = place.countryCode; 
} 
+1

'NSLog(“%@”,(NSString *)kABPersonAddressCityKey);'并发布结果。 – CodaFi 2012-04-12 20:37:43

+1

你的地方绝对是在某个城市吗?也许反向地理编码器不这么认为 - 例如,它是在海洋还是沙漠中?在下面,它只是去谷歌 - 检查他们的反向地理编码API直接与相同的位置。 – 2012-04-12 20:40:44

+0

感谢您的评论球员,@CodaFi我的钥匙是适当的,因为我使用相同类型的关键状态和国家。 我得到的国家和国家,我认为它应该给我目前的位置,并且这就是我目前的位置。 – Nilesh 2012-04-12 21:01:14

回答

2

它使用谷歌地图,所以去这里看看如何检查直接

https://developers.google.com/maps/documentation/geocoding/#ReverseGeocoding

与位置的经/纬检查:

http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=true

你有城市吗?如果是这样,我建议尝试捕获您的应用程序和反向地理编码服务器之间的网络流量。一个简单的方法是安装Wireshark,然后使用模拟器和自定义位置(在最新的模拟器中支持)。

相关问题