谷歌-根据经纬度获取地址

API文档

 

https://developers.google.com/maps/documentation/geocoding/?hl=zh-CN#ReverseGeocoding

 

 

实际查询地址

 

http://maps.googleapis.com/maps/api/geocode/json?latlng=31.186680,121.619644&sensor=true

 

返回json数据把上述地址在浏览器中即可显示。

 

ios解析地址的问题:

 

 

如果只要获取城市名称,通过返回的数据可以看的出,倒数第一级是国家、倒数第二是省份、倒是第三是城市:

所以如果要获取城市名称,可以用下面方法:

 

 

        
        TTURLJSONResponse *response = request.response;
        NSDictionary *dict=response.rootObject;
        [BTProjectUtil showLog:@"dict description : %@",[dict description]];
        
        NSString *status =StringEmpty;
        status =[dict objectForKey:@"status"];
        
        if ([status isEqualToString:@"OK"]) {
            
            NSArray *array =[dict arrayForKey:@"results"];
            
            NSDictionary *dict_1 = [array objectAtIndex:([array count] - 3)];
            
            NSArray *array_1 =[dict_1 arrayForKey:@"address_components"];
            
            NSDictionary *dict_2 = [array_1 objectAtIndex:0];
            
            NSString *short_name = [dict_2 objectForKey:@"short_name"];
            
            [BTProjectUtil showLog:@"===%@",short_name];
            
            [hotelCity setText:short_name];
            
            //如果要按照级别显示当前的位置,可以用下面的方法
//            for (int i=0; i < [array count]; i++) {
//                
//                NSDictionary *dict_1 = [array objectAtIndex:i];
//                
//                NSArray *array_1 =[dict_1 arrayForKey:@"address_components"];
//                
//                NSDictionary *dict_2 = [array_1 objectAtIndex:0];
//                
//                NSString *short_name = [dict_2 objectForKey:@"short_name"];
//                
//                [BTProjectUtil showLog:@"===%@",short_name];
//                
//            }
        }
 

 

 

 

 

 

 

你可能感兴趣的:(谷歌API,谷歌MAP,经纬度获取地址)