百度地圖整合_定位功能
定位前的準備工作:
1.infor.plist中加入以下2個引數:
1.加入Bundle display name,其引數不能為空
2.自iOS8起,系統定位功能進行了升級,SDK為了實現最新的適配,自v2.5.0起也做了相應的修改,開發者在使用定位功能之前,需要在info.plist裡新增(以下二選一,兩個都新增預設使用NSLocationWhenInUseUsageDescription):
NSLocationWhenInUseUsageDescription ,允許在前臺使用時獲取GPS的描述
NSLocationAlwaysUsageDescription ,允許永久使用GPS的描述
2.重點在於BMKLocationService 的這個類進行定位,定位方面主要分以下3塊:
1.關於定位方式的問題:
定位開啟:[self.locService startUserLocationService];
定位關閉:[self.locService stopUserLocationService];
定位方式改變如下:
// 設定定點陣圖層特點(每次修改圖層屬性,都要先關閉,再設定,最後再開啟)
self.mapView.showsUserLocation =NO;
self.mapView.userTrackingMode =BMKUserTrackingModeFollow;//定位跟隨模式
self.mapView.showsUserLocation =YES;
其中:userTrackingMode引數有以下4個取值:
typedef enum {
BMKUserTrackingModeNone = 0, /// 普通定位模式
BMKUserTrackingModeHeading, /// 定位方向模式
BMKUserTrackingModeFollow, /// 定位跟隨模式
BMKUserTrackingModeFollowWithHeading, /// 定位羅盤模式
} BMKUserTrackingMode;
2.關於定位的代理方法總結
以下為BMKLocationServiceDelegate的方法,詳細解釋見前面的註釋,具體使用見Demo
/**
*在地圖View將要啟動定位時,會呼叫此函式
*@param mapView 地圖View
*/
- (void)willStartLocatingUser
{
NSLog(@"start locate");
}
/**
*使用者方向更新後,會呼叫此函式
*@param userLocation 新的使用者位置
*/
- (void)didUpdateUserHeading:(BMKUserLocation *)userLocation
{
[self.mapView updateLocationData:userLocation];
NSLog(@"heading is %@",userLocation.heading);
}
/**
*使用者位置更新後,會呼叫此函式
*@param userLocation 新的使用者位置
*/
- (void)didUpdateBMKUserLocation:(BMKUserLocation *)userLocation
{
// NSLog(@"didUpdateUserLocation lat %f,long %f",userLocation.location.coordinate.latitude,userLocation.location.coordinate.longitude);
[self.mapView updateLocationData:userLocation];
}
/**
*在地圖View停止定位後,會呼叫此函式
*@param mapView 地圖View
*/
- (void)didStopLocatingUser
{
NSLog(@"stop locate");
}
/**
*定位失敗後,會呼叫此函式
*@param mapView 地圖View
*@param error 錯誤號,參考CLError.h中定義的錯誤號
*/
- (void)didFailToLocateUserWithError:(NSError *)error
{
NSLog(@"location error");
}
需要注意的是:其中的didUpdateUserHeading 和didUpdateBMKUserLocation 呼叫頻率比較高,不用定位功能時,要及時關閉,可以省電。
3.關於定點陣圖層的屬性更改
主要為下面這個類:BMKLocationViewDisplayParam
其中的屬性為以下如:
self.locViewParam.accuracyCircleFillColor =[UIColor redColor]; /////精度圈 填充顏色
self.locViewParam.locationViewOffsetX =100;//具體定位位置處在螢幕的X值
self.locViewParam.locationViewOffsetY =200;///具體定位位置處在螢幕的Y值
參考Demo為:本人專案地址:
相關文章
- Flutter整合高德定位和地圖功能Flutter地圖
- 安卓百度地圖定位安卓地圖
- 利用HTML5定位功能,實現在百度地圖上定位HTML地圖
- 利用HTML5定位功能,實現在百度地圖上定位薦HTML地圖
- 百度地圖-簡單整合地圖
- Vue+Antd搭配百度地圖實現搜尋定位等功能Vue地圖
- 利用百度地圖進行地圖定位並實時上傳地圖
- iOS 地圖定位 地圖iOS地圖
- iOS 地圖定位 定位iOS地圖
- 百度地圖:定位,軌跡,白板,載入崩潰,定位到非洲地圖
- 百度地圖API功能演示地圖API
- 地圖定位地圖
- Zoho CRM整合整合微信、呼叫中心、百度地圖等地圖
- 百度地圖開發-實現離線地圖功能 05地圖
- 百度地圖開發-與地圖的互動功能 06地圖
- 百度地圖 搜尋建議功能地圖
- 【騰訊地圖】騰訊地圖定位解析地圖
- 利用百度地圖實現支付寶 “到位” 功能(地圖模式)地圖模式
- 國內三大地圖(騰訊、高德、百度)路線規劃功能的整合地圖
- vue3和百度地圖關鍵字檢索 定位 點選定位Vue地圖
- Android 百度地圖 SDK v3.0.0 (四) 引入離線地圖功能Android地圖
- 百度地圖新增懸浮窗搜尋功能地圖
- iOS 使用百度地圖進行定位和路線規劃iOS地圖
- 百度地圖、ECharts整合HT for Web網路拓撲圖應用地圖EchartsWeb
- 百度地圖之基礎地圖地圖
- 高德地圖定位實現地圖
- 百度地圖框選標註座標點功能地圖
- 百度地圖介面地圖
- iOS百度地圖請求允許定位對話方塊閃退iOS地圖
- HTML5呼叫百度地圖API進行地理定位例項HTML地圖API
- 百度地圖API入門——(5)百度地圖API的簡介地圖API
- 百度地圖總結第二篇 POI檢索功能地圖
- 百度地圖繪製多邊型帶編輯功能薦地圖
- 百度地圖例項地圖
- 百度地圖GeoUtils示例地圖
- 騰訊地圖實現地圖找房功能地圖
- 騰訊地圖定位及座標解析地圖
- JN專案-地圖定位優化地圖優化