ios地理資訊反編碼

來源:互聯網
上載者:User

標籤:

通過定位我們可以獲得經度和緯度,通過地理資訊反編碼可以通過地理座標返回某個地點的相關文字描述。
這些描述封裝在CLPlacemark類中,它的屬性為:
1)addressDictionary,地理資訊字典
2)ISOcountryCode,ISO國家代號
3)Country,國家資訊
4)postalCode,郵遞區號
5)adminisrativeArea,行政地區資訊
6)locality,指定城市資訊
個人認為,字典中儲存的值 跟 CLPlacemark中其它的屬性的值是相同的。

地理資訊反編碼使用CLGeocoder類實現,這個類能夠實現地理座標與地理文字描述資訊之間的轉換
代碼如下:

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
{
    CLGeocoder * geocoder = [[CLGeocoder alloc] init];
    [geocoder reverseGeocodeLocation:[locations lastObject] completionHandler:^(NSArray *placemarks, NSError *error) {
       
        if([placemarks count] > 0){
            CLPlacemark * placemark = placemarks[0];
            //可以用字典類型擷取地理文字資訊,可以用Address Book framework中對應的索引值來擷取對應的資訊
            NSDictionary * dict = placemark.addressDictionary;
            NSString * str = [dict objectForKey:(NSString *)kABPersonAddressCityKey];//擷取城市資訊
           
            //還可以通過屬性值來擷取資訊
            NSLog(@"%@", placemark.country);//輸出國家資訊
            NSLog(@"%@", placemark.locality);//指定城市資訊
            NSLog(@"%@", placemark.thoroughfare);//指定街道層級的資訊
        }
    }];
}

ios地理資訊反編碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.