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。

創(chuàng)新互聯(lián)建站主要從事成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)巴東,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
要進(jìn)行跳轉(zhuǎn)需要先在xcode的plist文件內(nèi)將目標(biāo)App的url Scheme加入白名單(LSApplicationQueriesSchemes)。
1、下載iOS地圖SDK的最新版本
2、申請(qǐng)LBS密鑰(見第二部分)。
3、xCode新建工程
新建一個(gè) Single View Application 工程。注意:Language 選擇 Swift
4、工程配置
a.?引入地圖庫搜索庫
左側(cè)目錄中選中工程名,在 TARGETS-Build Phases- Link Binary With Libaries 中點(diǎn)擊“+”按鈕,在彈出的窗口中點(diǎn)擊“Add Other”按鈕,選擇解壓后的 MAMapKit.framework 文件添加到工程中。
搜索庫的添加方法同上。
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)庫
左側(cè)目錄中選中工程名,在TARGETS-Build Settings- Link Binary With Libaries中點(diǎn)擊“+”按鈕,在彈出的窗口中查找并選擇所需的庫(見下表),單擊“Add”按鈕,將庫文件添加到工程中。
說明:
備注中,2D表示使用2D柵格地圖需要的系統(tǒng)文件,3D表示使用3D矢量地圖需要的系統(tǒng)文件、Search表示使用搜索庫需要的系統(tǒng)文件。
SystemConfiguration.framework、CoreTelephonySecurity.framework、Security.framework 是為了統(tǒng)計(jì)app信息使用。
d.Swift編譯配置
首先:新建橋接頭文件(放在工程路徑下),這里命名為 AMapDemoSwift-Bridging-Header.h,在該頭文件中import需要的庫文件,代碼如下:
#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)行程序,地圖顯示出來了,就是這樣簡(jiǎn)單~
首先講一下原理,我們通過修改備份數(shù)據(jù)里的地圖數(shù)據(jù)來,來使自帶地圖增加一個(gè)虛擬定位的按鈕來實(shí)現(xiàn)的。本方法支持iOS7-iOS10所有設(shè)備。虛擬定位完了后位置是固定死的,不會(huì)隨手機(jī)移動(dòng)而移動(dòng)的。若要恢復(fù)真實(shí)定位重啟手機(jī)即可;此定位支持任何第三方App。
操作方法:
1、下載并安裝愛思助手,將手機(jī)連接愛思助手之后,點(diǎn)擊“設(shè)備信息”中的“備份/恢復(fù)”,點(diǎn)擊“全備份”將手機(jī)備份(什么是全備份?);
2、備份完成后,點(diǎn)擊上圖“備份恢復(fù)”界面的“全備份文件管理”,找到剛才備份的的數(shù)據(jù),選擇之后點(diǎn)擊“立即查看”;
3、在備份查看器打開后,往下拉找到AppDomain-com.apple.Maps這個(gè)文件夾,雙擊打開;
4、然后依次打開Library/Preferences,可以看到里面的com.apple.Maps.plist文件,雙擊打開;
5、彈出如下界面,頁面拖到最下方,看到兩行代碼和,把以下代碼寫在這兩行上面:
__internal__PlaceCardLocationSimulation
以上代碼可以直接復(fù)制粘貼,如下圖對(duì)齊;修改完畢之后點(diǎn)擊左上角“保存”;
6、接下來只要把修改后的備份還原到手機(jī)就可以了;點(diǎn)擊“備份/恢復(fù)”界面的“全恢復(fù)數(shù)據(jù)”,選擇剛才修改的備份,點(diǎn)擊“立即恢復(fù)”,等待進(jìn)度條完成,手機(jī)重啟,大功告成;
7、打開手機(jī)的地圖搜索你想要的地址查看,最下方會(huì)出現(xiàn)Simulate Location這個(gè)選項(xiàng),點(diǎn)擊以后即完成偽裝;之后打開所有APP的定位都將是此虛擬位置。
使用百度地圖 sdk 定位包啊
現(xiàn)在百度地圖把 地圖sdk 和 定位sdk 分開了,你需要分別添加到項(xiàng)目里去。
網(wǎng)站標(biāo)題:ios地圖定位開發(fā),iOS地圖開發(fā)
當(dāng)前地址:http://chinadenli.net/article23/dssphcs.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、軟件開發(fā)、網(wǎng)站導(dǎo)航、品牌網(wǎng)站建設(shè)、企業(yè)建站、App設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)