App內(nèi)根據(jù)手機(jī)上裝載的地圖App將其顯示在彈出的選擇框,選擇對(duì)應(yīng)地圖跳轉(zhuǎn)進(jìn)入地圖導(dǎo)航。需要用到- (BOOL)canOpenURL:(NSURL *)url NS_AVAILABLE_IOS(3_0);方法判斷手機(jī)是否已安裝相應(yīng)地圖App。
為沂南等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及沂南網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、沂南網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
要進(jìn)行跳轉(zhuǎn)需要先在xcode的plist文件內(nèi)將目標(biāo)App的url Scheme加入白名單(LSApplicationQueriesSchemes)。
1)首先打開百度地圖,點(diǎn)擊工具
2)在工具中找到測(cè)距,點(diǎn)擊,出現(xiàn)你當(dāng)時(shí)所在的地圖,同時(shí)你也可以進(jìn)行縮放選擇點(diǎn)擊你想查找的起始地點(diǎn)
3)再點(diǎn)擊另外一個(gè)你想去的地點(diǎn),點(diǎn)擊后就出現(xiàn)路程。測(cè)距就已經(jīng)結(jié)束了。
1、下載iOS地圖SDK的最新版本
2、申請(qǐng)LBS密鑰(見第二部分)。
3、xCode新建工程
新建一個(gè) Single View Application 工程。注意:Language 選擇 Swift
4、工程配置
a.?引入地圖庫(kù)搜索庫(kù)
左側(cè)目錄中選中工程名,在 TARGETS-Build Phases- Link Binary With Libaries 中點(diǎn)擊“+”按鈕,在彈出的窗口中點(diǎn)擊“Add Other”按鈕,選擇解壓后的 MAMapKit.framework 文件添加到工程中。
搜索庫(kù)的添加方法同上。
b.引入AMap.bundle資源文件
AMap.bundle資源文件中存儲(chǔ)了定位、默認(rèn)大頭針標(biāo)注視圖等圖片,可利用這些資源圖片進(jìn)行開發(fā)。
左側(cè)目錄中選中工程名,在右鍵菜單中選擇Add Files to “工程名”…,從 MAMapKit.framework-Resources 文件夾中選擇 AMap.bundle文件,并勾選“Copy items if needed”復(fù)選框,單擊“Add”按鈕,將資源文件添加到工程中。
c.引入系統(tǒng)庫(kù)
左側(cè)目錄中選中工程名,在TARGETS-Build Settings- Link Binary With Libaries中點(diǎn)擊“+”按鈕,在彈出的窗口中查找并選擇所需的庫(kù)(見下表),單擊“Add”按鈕,將庫(kù)文件添加到工程中。
說(shuō)明:
備注中,2D表示使用2D柵格地圖需要的系統(tǒng)文件,3D表示使用3D矢量地圖需要的系統(tǒng)文件、Search表示使用搜索庫(kù)需要的系統(tǒng)文件。
SystemConfiguration.framework、CoreTelephonySecurity.framework、Security.framework 是為了統(tǒng)計(jì)app信息使用。
d.Swift編譯配置
首先:新建橋接頭文件(放在工程路徑下),這里命名為 AMapDemoSwift-Bridging-Header.h,在該頭文件中import需要的庫(kù)文件,代碼如下:
#import MAMapKit/MAMapKit.h
#import AMapSearchKit/AMapSearchAPI.h
然后,左側(cè)目錄中選中工程名,在 TARGETS-Build Phases- Swift Compiler - Code Generation - Objective-C Briding Header 中輸入橋接文件的路徑
5、地圖的顯示
以3D矢量地圖SDK為例,進(jìn)行介紹。
在 ViewController.swift 中,繼承 MAMapViewDelegate 協(xié)議,在 viewDidLoad 方法中配置用戶Key,初始化 MAMapView 對(duì)象,并添加到 Subview中。代碼如下:
let APIKey = "8a1383b14466a8dbf362f44357c496c0"
class ViewController: UIViewController , MAMapViewDelegate{
var mapView:MAMapView?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
// 配置用戶Key
MAMapServices.sharedServices().apiKey = APIKey
// 初始化MAMapView
initMapView()
}
func initMapView(){
mapView = MAMapView(frame: self.view.bounds)
mapView!.delegate = self
self.view.addSubview(mapView!)
}
}
運(yùn)行程序,地圖顯示出來(lái)了,就是這樣簡(jiǎn)單~
上次我們說(shuō)到在蘋果開發(fā)者官網(wǎng)查看MapKit文檔,下面直接講解如何加載MapKit的視圖及相關(guān)的屬性。
導(dǎo)入系統(tǒng)文件,創(chuàng)建MKMapView對(duì)象即可,地圖就可以加載了。