ios 点生成线路 百度地图_iOS SDK | 百度地图API SDK
注意事項
1、靜態庫中采用ObjectC++實現,因此需要您保證您工程中至少有一個.mm后綴的源文件(您可以將任意一個.m后綴的文件改名為.mm),或者在工程屬性中指定編譯方式,即在Xcode的Project -> Edit Active Target -> Build Setting 中找到 Compile Sources As,并將其設置為"Objective-C++"
2、如果您只在Xib文件中使用了BMKMapView,沒有在代碼中使用BMKMapView,編譯器在鏈接時不會鏈接對應符號,需要在工程屬性中顯式設定:在Xcode的Project -> Edit Active Target -> Build Setting -> Other Linker Flags中添加-ObjC
3、授權Key的申請:新、舊Key之間不可通用,即新Key只可以使用在v2.0.2及后續版本的SDK中,舊的Key只適用于v2.0.1及之前版本的SDK;如果還沒有授權Key,請 申請密鑰
4、自v3.2.0起,百度地圖iOS SDK全面支持HTTPS,需要廣大開發者導入第三方openssl靜態庫:libssl.a和libcrypto.a(SDK打好的包存放于thirdlib目錄下)
添加方法:在 TARGETS->Build Phases-> Link Binary With Libaries中點擊“+”按鈕,在彈出的窗口中點擊“Add Other”按鈕,選擇libssl.a和libcrypto.a添加到工程中
。}}
5、如果在iOS9中使用了調起百度地圖客戶端功能,必須在"Info.plist"中進行如下配置,否則不能調起百度地圖客戶端。
LSApplicationQueriesSchemes
baidumap
6、管理地圖的生命周期:自2.0.0起,BMKMapView新增viewWillAppear、viewWillDisappear方法來控制BMKMapView的生命周期,并且在一個時刻只能有一個BMKMapView接受回調消息,因此在使用BMKMapView的viewController中需要在viewWillAppear、viewWillDisappear方法中調用BMKMapView的對應的方法,并處理delegate,代碼如下:
-(void)viewWillAppear:(BOOL)animated
{
[_mapView viewWillAppear];
_mapView.delegate = self; // 此處記得不用的時候需要置nil,否則影響內存的釋放
}
-(void)viewWillDisappear:(BOOL)animated
{
[_mapView viewWillDisappear];
_mapView.delegate = nil; // 不用時,置nil
}
7、自iOS SDK v2.5.0起,為了對iOS8的定位能力做兼容,做了相應的修改,開發者在使用過程中注意事項如下:
需要在info.plist里添加(以下二選一,兩個都添加默認使用NSLocationWhenInUseUsageDescription):
NSLocationWhenInUseUsageDescription ,允許在前臺使用時獲取GPS的描述
NSLocationAlwaysUsageDescription ,允許永久使用GPS的描述
8、在使用Xcode6進行SDK開發過程中,需要在info.plist中添加:Bundle?display?name?,且其值不能為空(Xcode6新建的項目沒有此配置,若沒有會造成manager?start?failed)
9、百度地圖iOS SDK v2.5.0起,對arm64進行了支持適配,開發包體積有所增加。但根據開發者在研發過程中的選擇,最終生成的APP體積并不會發生較大的變化。
10、確認項目中添加mapapi.bundle文件以及添加方法正確,不能刪除或隨意更改其中files文件夾下的內容:
注:mapapi.bundle中存儲了定位、默認大頭針標注View及路線關鍵點的資源圖片,還存儲了矢量地圖繪制必需的資源文件。
如果您不需要使用內置的圖片顯示功能,則可以刪除bundle文件中的image文件夾。您也可以根據具體需求任意替換或刪除該bundle中image文件夾的圖片文件。
添加方式:將mapapi.bundle拷貝到您的工程目錄,直接將該bundle文件托拽至Xcode工程左側的Groups&Files中即可。
若您需要替換定位、指南針的圖標,請保留原文件名稱,否則不顯示替換的新圖片,默認大頭針標注與路線關鍵點的新圖片名稱可自定義名稱。
11、注意BMKManager對象的生命周期管理,在使用地圖SDK期間不能釋放該對象,尤其在arc情況下注意避免提前被自動釋放,否則,該對象一旦被釋放,網絡模塊將不可用,地圖無法加載,檢索失敗。
12、app在前后臺切換時,需要使用下面的代碼停止地圖的渲染和openGL的繪制(V2.10.0后不需要再調用):
- (void)applicationWillResignActive:(UIApplication *)application {
[BMKMapView willBackGround];//當應用即將后臺時調用,停止一切調用opengl相關的操作
}
- (void)applicationDidBecomeActive:(UIApplication *)application {
[BMKMapView didForeGround];//當應用恢復前臺狀態時調用,回復地圖的渲染和opengl相關的操作
}
總結
以上是生活随笔為你收集整理的ios 点生成线路 百度地图_iOS SDK | 百度地图API SDK的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 自动加载jar_JAVA 动态
- 下一篇: 完全相同的4个小矩形如图所示放置_分享