溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

iOS 原生地圖地理編碼與反地理編碼(詳解)

發(fā)布時(shí)間:2020-09-26 03:45:22 來源:腳本之家 閱讀:363 作者:jingxian 欄目:移動開發(fā)

當(dāng)我們要在App實(shí)現(xiàn)功能:輸入地名,編碼為經(jīng)緯度,實(shí)現(xiàn)導(dǎo)航功能。

那么,我需要用到原生地圖中的地理編碼功能,而在Core Location中主要包含了定位、地理編碼(包括反編碼)功能。

在文件中導(dǎo)入

#import <CoreLocation/CoreLocation.h>

地理編碼:

/** 
 地理編碼 
 */
- (void)geocoder { 
   
  CLGeocoder *geocoder=[[CLGeocoder alloc]init]; 
   
  NSString *addressStr = @"廣東省深圳市寶安區(qū)";//位置信息 
   
  [geocoder geocodeAddressString:addressStr completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) { 
    if (error!=nil || placemarks.count==0) { 
      return ; 
    } 
    //創(chuàng)建placemark對象 
    CLPlacemark *placemark=[placemarks firstObject]; 
    //經(jīng)度 
    NSString *longitude =[NSString stringWithFormat:@"%f",placemark.location.coordinate.longitude]; 
    //緯度 
    NSString *latitude =[NSString stringWithFormat:@"%f",placemark.location.coordinate.latitude]; 
     
    NSLog(@"經(jīng)度:%@,緯度:%@",longitude,latitude); 
     
  }]; 
   
}

地理反編碼:

/** 
 地理反編碼 
 */
- (void)reverseGeocoder{ 
  //創(chuàng)建地理編碼對象 
  CLGeocoder *geocoder=[[CLGeocoder alloc]init]; 
   
  //經(jīng)度 
  NSString *longitude = @"113.23"; 
  //緯度 
  NSString *latitude = @"23.16"; 
   
   
  //創(chuàng)建位置 
  CLLocation *location=[[CLLocation alloc]initWithLatitude:[latitude floatValue] longitude:[longitude floatValue]]; 
   
   
  //反地理編碼 
  [geocoder reverseGeocodeLocation:location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) { 
    //判斷是否有錯(cuò)誤或者placemarks是否為空 
    if (error !=nil || placemarks.count==0) { 
      NSLog(@"%@",error); 
      return ; 
    } 
    for (CLPlacemark *placemark in placemarks) { 
      //詳細(xì)地址 
      NSString *addressStr = placemark.name; 
      NSLog(@"詳細(xì)地址1:%@",addressStr); 
      NSLog(@"詳細(xì)地址2:%@",placemark.addressDictionary); 
      NSLog(@"詳細(xì)地址3:%@",placemark.locality); 
    } 
     
  }]; 
}

以上這篇iOS 原生地圖地理編碼與反地理編碼(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI