91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

【高德API】如何利用MapKit開發全英文檢索的iOS地圖

發布時間:2020-04-04 22:54:51 來源:網絡 閱讀:1455 作者:酸奶小妹GIS 欄目:移動開發

制作全英文地圖的展示并不困難,但是要制作全英文的數據檢索列表,全英文的信息窗口,你就沒辦法了吧。告訴你,我有妙招!使用iOS自帶的MapKit來展示全球英文底圖,結合上高德API的中英文檢索功能,就能打造POI數據最豐富,英文展示全方位的純英文地圖啦!看看截圖,是不是渾然天成?

【高德API】如何利用MapKit開發全英文檢索的iOS地圖

--------------------------------------------------------------------------------------------------------------------------

下面開始詳解純英文地圖的步驟啦,助力程序員與國際APPs接軌!

 

第一步:申請Key

先申請高德的KEY:http://lbs.amap.com/console/key/

1、填寫應用名稱

2、綁定服務選擇IOS平臺

3、輸入bundle id:將Xcode切換到General標簽,即可查看Bundle Identifier

4、點擊獲取KEY

【高德API】如何利用MapKit開發全英文檢索的iOS地圖

 

第二步、新建地圖工程

在xCode里,新建一個 Single View Application工程,并且進行配置。

在高德官網有地圖配置的詳細說明,這里我就不多說了。查看:http://lbs.amap.com/api/ios-sdk/guide/mapview/

  

第三步、添加MKMapView

1、在xCode里選擇Build Phases標簽,點開Link Binary With Libraries,再點加號。

【高德API】如何利用MapKit開發全英文檢索的iOS地圖

2、在彈出來的搜索框里搜索Mapkit

【高德API】如何利用MapKit開發全英文檢索的iOS地圖

3、選擇iOS 8.0-->MapKit.framework,最后點擊add即可。

【高德API】如何利用MapKit開發全英文檢索的iOS地圖

 

第四步、申請定位權限

在 info.plist中追加NSLocationAlwaysUsageDescription或者NSLocationAlwaysUsageDescription字段。

NSLocationWhenInUseUsageDescription表示應用在前臺的時候可以搜到更新的位置信息;NSLocationAlwaysUsageDescription表示應用在前臺和后臺(suspend或terminated)都可以獲取到更新的位置數據。

所以我還是建議NSLocationAlwaysUsageDescription這種方便的模式,哈哈。

 

 1.在工程的Supporting Files中選擇plist文件
【高德API】如何利用MapKit開發全英文檢索的iOS地圖

 2.點擊+號,輸入字段NSLocationAlwaysUsageDescription

【高德API】如何利用MapKit開發全英文檢索的iOS地圖

 

 3.按回車,即可完成添加字段

【高德API】如何利用MapKit開發全英文檢索的iOS地圖

 

第五步、初始化Mapview

高德的坐標系是國內標準坐標(GCJ-02,又稱火星坐標),國際上一般是采用GPS坐標(WGS-84),所以大多數國際應用在中國使用時,需要進行坐標轉換。

好在蘋果的MapKit用的是高德的地圖,showUserLocation= YES,坐標已經是GCJ-02的啦,可以直接使用~

(PS:不建議使用CLLocationManager定位管理類,它返回的坐標是GPS坐標,必須進行坐標轉換,很麻煩。)

 

【高德API】如何利用MapKit開發全英文檢索的iOS地圖

//申請定位權限  -  (void) initLocation  
{  
     if(nil == _locationManager)  
     {  
         _locationManager = [[CLLocationManager alloc] init];  
    }    
  
    if([[[UIDevice  currentDevice] systemVersion] floatValue] >= 8.0)  
     {  
         [_locationManager requestAlwaysAuthorization];  
     }  
} 
//初始化MapView  -  (void) initMapView{
   
//構造MKMapView       _mapView = [[MKMapView alloc] initWithFrame:CGRectMake(0, 21,  CGRectGetWidth(self.view.bounds), CGRectGetHeight(self.view.bounds))];       _mapView.delegate = self;      _mapView.showsUserLocation  = YES;//顯示定位圖標      [_mapView  setUserTrackingMode:MKUserTrackingModeFollow];//設置定位模式  
     //將mapview添加到Subview中  
    [self.view addSubview:_mapView];   }

【高德API】如何利用MapKit開發全英文檢索的iOS地圖

 

第六步、初始化AMapSearchAPI

構造AMapSearchAPI對象,設置搜索結果語言為英文AMapSearchLanguage_en

這步非常重要喔!必須要設置成英文,才能巧妙地讓POI搜索、逆地理編碼和地理編碼、輸入提示等,都變成純英文喔。

 

【高德API】如何利用MapKit開發全英文檢索的iOS地圖

//初始化AMapSearchAPI  -  (void)initSearch  
{  
    //構造AMapSearchAPI  
    _search = [[AMapSearchAPI alloc] initWithSearchKey:APIKey Delegate:self];  
    _search.language = AMapSearchLanguage_en;//設置語言  }

【高德API】如何利用MapKit開發全英文檢索的iOS地圖

 

第七步、寫個搜索demo來看看

以一個普通的POI檢索為例,當檢索英文關鍵詞時,出來純英文的搜素建議;搜索結果也用英文來展示。

【高德API】如何利用MapKit開發全英文檢索的iOS地圖

/*  POI 搜索.  */  -  (void)searchPOIWithKey:(NSString *)key adcode:(NSString *)adcode  
{  
     if (key.length == 0)
     {           return;  
     }  
//構造POI搜索對象AMapPlaceSearchRequest  AMapPlaceSearchRequest  *place = [[AMapPlaceSearchRequest alloc] init];  
//設置關鍵字       place.keywords = key;       place.requireExtension = YES;//設置成YES,返回信息詳細,較費流量       if (adcode.length > 0)     {           place.city = @[adcode];       }       //發起查詢     [_search  AMapPlaceSearch:place];   }    //回調中顯示結果  -  (void)onPlaceSearchDone:(AMapPlaceSearchRequest *)request response:(AMapPlaceSearchResponse  *)respons   {       if (respons.pois.count == 0)       {           return;       }      NSMutableArray  *poiAnnotations = [NSMutableArray arrayWithCapacity:respons.pois.count];      [respons.pois  enumerateObjectsUsingBlock:^(AMapPOI *obj, NSUInteger idx, BOOL *stop) {          [poiAnnotations  addObject:[[POIAnnotation alloc] initWithPOI:obj]];      }];  
   
/*  將結果以annotation的形式加載到地圖上. */       [_mapView addAnnotations:poiAnnotations];  
   
/*  如果只有一個結果,設置其為中心點. */     if (poiAnnotations.count == 1)       {         _mapView.centerCoordinate = [poiAnnotations[0] coordinate];       }  
   
/* 如果有多個結果, 設置地圖使所有的annotation都可見. */       else       {           [_mapView showAnnotations:poiAnnotations animated:NO];       }   }

【高德API】如何利用MapKit開發全英文檢索的iOS地圖

 

最后,想象你是一個外國人,把你的手機語言改成English,這時,英文底圖就出現了!

其實如果用高德iOS SDK,也有英文底圖,但得調用SDK啊,很麻煩呢。如果本來就是給在中國的外國人看,還不如直接調用iOS的MapKit呢~

你要開發安卓版英文地圖的話,那當然直接用高德Android SDK就好了啦~

 

【高德API】如何利用MapKit開發全英文檢索的iOS地圖最后,這里是全部×××:https://github.com/autonaviapi/HelloAmapForEnglish

 

 

大家快動手試試吧~~ 真的是一秒鐘國際范兒的趕腳~ 再看一遍截圖~

【高德API】如何利用MapKit開發全英文檢索的iOS地圖

 

-------------------------------------------------------------------------------------------

關于為什么要選擇高德API:

1、蘋果MapKit本來就是調用的高德地圖,看右下角版權信息,是不是有個灰色的高德地圖logo,所以不存在坐標轉換的問題,嗯,渾然天成;

2、高德推出了全球定位,全英文地圖,全英文檢索(全國僅此一家!)等潮流產品,各種非常適合“國際范兒”這個命題。

-------------------------------------------------------------------------------------------


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泸定县| 纳雍县| 桐庐县| 迁安市| 武隆县| 金华市| 黄骅市| 湘乡市| 巴林右旗| 六枝特区| 石棉县| 武山县| 红原县| 克什克腾旗| 吴川市| 图片| 松阳县| 麟游县| 安龙县| 稷山县| 渝中区| 安宁市| 江城| 高尔夫| 通化市| 海丰县| 林芝县| 黄龙县| 大方县| 南溪县| 石门县| 小金县| 大姚县| 德兴市| 桦川县| 扎鲁特旗| 阜平县| 昌江| 高青县| 融水| 新泰市|