集成百度地圖還是很簡單的只要注意些細節(jié),絕對OK的了??! 只要按照我的流程來就可以。
網站建設哪家好,找創(chuàng)新互聯建站!專注于網頁設計、網站建設、微信開發(fā)、重慶小程序開發(fā)、集團企業(yè)網站建設等服務項目。為回饋新老客戶創(chuàng)新互聯還提供了蓬溪免費建站歡迎大家使用!
官方已經寫得很清楚了 點這里
這里注意點一點是:啟用服務是指你在項目中需要用到的服務,打勾就是指啟用
導入庫文件這些有兩種方式手動導入和CocoaPods這里重點說的是手動導入需要注意的這些坑
點這里
在以上都完成時需要注意一些細節(jié)
1.在Xcode的Project - Edit Active Target - Build Setting - Other Linker Flags中添加-ObjC
2.如果在iOS9中使用了調起百度地圖客戶端功能,必須在"Info.plist"中進行如下配置,否則不能調起百度地圖客戶端。
3.管理地圖的生命周期,BMKMapView在一個時刻只能有一次接受回調消息,因此在viewController中調用以下BMKMapView的對應的方法,并且不要忘記添加代理
4.官方自iOS SDK v2.5.0起,對iOS8的定位能力做兼容,,以下二選一
NSLocationWhenInUseUsageDescription ,允許在前臺使用時獲取GPS的描述
NSLocationAlwaysUsageDescription ,允許永久使用GPS的描述
5.在使用Xcode6進行SDK開發(fā)過程中,需要在info.plist中添加:Bundle display name ,且其值不能為空(Xcode6新建的項目沒有此配置,若沒有會造成manager start failed)
6.Bundle Identifier要和申請秘鑰安全碼以及info.plist的Bundle Identifier要一致
以上幾點一定要滿足,其中的最后一個把我摧殘的不要不要的
具體的一些導航啦定位的一些方法代理 點這里
使用: [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"白名單://"]] 判斷是否安裝白名單里面的App.
蘋果自帶的地圖不需要設置白名單,需要設置終點的經緯度就行,需要導入 #import MapKit/MapKit.h 頭文件
可以參考: 百度地圖官方文檔 實現如下:
參數設置可以參考文檔
可以參考: 高德地圖官方文檔 實現如下:
可以參考: 騰訊地圖官方文檔 實現如下:
.h
.m
1 適用環(huán)境
移動設備瀏覽器端應用和移動App應用均可調起iOS版百度地圖。
2 協議形式
無論是基于移動瀏覽器端的應用開發(fā)還是基于iOS
SDK的應用開發(fā)均可采用如下協議調起iOS版百度地圖。該協議要正確執(zhí)行除了要參數填寫正確外,還必須要安裝iOS百度地圖。
protocol://product/[service/]action[?parameters] //parameters功能參數定義,具體規(guī)范見功能協議說明
示例:
baidumap://map/direction?origin=中關村destination=五道口mode=drivingregion=北京
//本示例是通過該URL啟動地圖app并進入北京市從中關村到五道口的駕車導航路線圖
組成說明:
參數名稱
參數說明
是否必選
備注
protocol
產品線協議頭,例如baidumap表示百度地圖
必選
product
產品線名稱,例如如百度地圖客戶端(map)
必選
product下可直接跟方法,當然產品線也可增加一個service級別
service
具體功能服務名稱,如POI檢索服務(place)
必選
action
方法名稱,如POI檢索中的詳情檢索(detail)
必選
parameters
方法參數,參考各個功能協議說明的定義
必選
3 功能使用說明
3.1 標注
調用該接口可調起IOS百度地圖,且在指定坐標點上顯示點的名稱和內容信息。
服務地址
baidumap://map/marker //iOS服務地址
參數說明
參數名稱
參數說明
是否必選
備注
location
lat緯度,lng經度
必選
title
標注點顯示標題
必選
product下可直接跟方法,當然產品線也可增加一個service級別
content
標注點顯示內容
必選
coord_type
坐標類型,可選參數,默認為bd09ll。
可選
允許的值為bd09ll、gcj02、wgs84。bd09ll表示百度經緯度坐標,
gcj02表示經過國測局坐標,wgs84表示gps獲取的坐標。
zoom
展現地圖的級別,默認為視覺最優(yōu)級別。
可選
src
調用來源,規(guī)則:companyName|appName。
必選
此參數不傳值,不保證服務。
代碼片段
//網頁應用調起iOS百度地圖方式舉例
a href="baidumap://map/marker?location=40.047669,116.313082title=我的位置content=百度奎科大廈src
=yourCompanyName|yourAppName"地圖標點/a
效果圖:
1.首先加載出百度地圖
2.在地圖加載成功后的方法里去得到左下角和右上角的坐標點的經緯度, 需要一個方法來實現屏幕坐標點轉化成經緯度。
3.得到倆個點的經緯度就可以開始發(fā)起搜索了。
4.在搜索結果的代理方法里將搜索到的結果展示出來。
5.當地圖區(qū)域發(fā)生改變時,會觸發(fā)的方法有3個: "正在改變"、"即將改變"、"改變完成"。
很容易就想到,我們需要使用的是"改變完成"的方法,在里面重新請求一次搜索:
**
總結: demo只實現了一個很基礎的功能,后期還可以增加更加炫酷的功能,比如改變氣泡的形狀。如果你有更好的想法,歡迎和我交流!
**
demo地址: