用過(guò)微信的應(yīng)該都知道這個(gè)功能,對(duì)方發(fā)一個(gè)位置給你,點(diǎn)進(jìn)去地圖展示對(duì)方跟你的當(dāng)前位置,界面提供了選擇各個(gè)地圖應(yīng)用進(jìn)行導(dǎo)航,更好這次需求也要搞這個(gè)功能。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供乾安網(wǎng)站建設(shè)、乾安做網(wǎng)站、乾安網(wǎng)站設(shè)計(jì)、乾安網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、乾安企業(yè)網(wǎng)站模板建站服務(wù),10多年乾安做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
這個(gè)功能實(shí)現(xiàn)不難,個(gè)人感覺(jué)比應(yīng)用內(nèi)嵌入第三方地圖導(dǎo)航SDK用起來(lái)更舒服,更接地氣,逼格也高點(diǎn),主要要的是簡(jiǎn)單(畢竟人家啥都處理好了)。
上項(xiàng)目效果圖(還是想吐槽下傻逼的產(chǎn)品,為啥不直接照搬微信的界面,至少比自己的好看)
這里有一個(gè)重點(diǎn),主要是彈出的選擇框的選項(xiàng)并不是固定的,而是根據(jù)你手機(jī)上有沒(méi)有安裝這個(gè)地圖應(yīng)用,沒(méi)有就不會(huì)出現(xiàn)。
這里就要用到
- (BOOL)canOpenURL:(NSURL*)urlNS_AVAILABLE_IOS(3_0);
判斷手機(jī)上有沒(méi)有安裝該地圖應(yīng)用。
所以要知道地圖應(yīng)用的url?Scheme。
這里提供了幾個(gè)常用地圖應(yīng)用的url?Scheme:
baidumap//百度地圖
iosamap//高德地圖
comgooglemaps//谷歌地圖
qqmap//騰訊地圖
….//其他地圖省略
蘋(píng)果地圖不需要,因?yàn)樗翘O(píng)果地圖啊,這樣也好,能保證沒(méi)有安裝其他地圖app,至少還有一個(gè)蘋(píng)果地圖,而且蘋(píng)果地圖在IOS9也做的越來(lái)越好了,本身API提供了一個(gè)跳轉(zhuǎn)打開(kāi)方法。
這里插入一個(gè)小細(xì)節(jié),在IOS9之后,蘋(píng)果進(jìn)一步完善了安全機(jī)制,必須在plist里面設(shè)置url scheme白名單,不然無(wú)法打開(kāi)對(duì)應(yīng)的應(yīng)用
前方高能,重點(diǎn)來(lái)了!!!!
這里我抽了個(gè)方法返回支持導(dǎo)航的地圖信息數(shù)組:
這里只要傳入提供的坐標(biāo)點(diǎn),就打包好了需要的信息。
什么,你說(shuō)彈出?那玩意自己去寫(xiě),不想寫(xiě),自己去找,不然就用系統(tǒng)的actionSheet。
最后結(jié)尾還有個(gè)小插曲,由于我們后臺(tái)給的目標(biāo)經(jīng)緯度是百度坐標(biāo)系,項(xiàng)目用的也是百度地圖,界面上展示是沒(méi)啥問(wèn)題了,但是由于不同的地圖有自己的坐標(biāo)系,而要用它們進(jìn)行導(dǎo)航,那傳給它們的必須是標(biāo)準(zhǔn)的經(jīng)緯度坐標(biāo),這就蛋疼了,百度這坑爹只有提供了標(biāo)準(zhǔn)的轉(zhuǎn)成它自己的坐標(biāo)系,而沒(méi)有提供反轉(zhuǎn)的方法,去官網(wǎng)開(kāi)發(fā)者社區(qū)發(fā)帖,也沒(méi)用,只是回答你沒(méi)有提供,所以我猜傳言百度地圖SDK是實(shí)習(xí)生寫(xiě)的還是有一定的可靠性。
沒(méi)辦法,只能求爺爺告奶奶,去查找對(duì)應(yīng)的資料,還是找到一個(gè)第三方的轉(zhuǎn)換方法 ,但是仍然有一定的偏差,能接受的就接受吧。
上次我們說(shuō)到在蘋(píng)果開(kāi)發(fā)者官網(wǎng)查看MapKit文檔,下面直接講解如何加載MapKit的視圖及相關(guān)的屬性。
導(dǎo)入系統(tǒng)文件,創(chuàng)建MKMapView對(duì)象即可,地圖就可以加載了。
解決的辦法:A頁(yè)面生成一個(gè)mapView,然后大家共用它,而不是每次點(diǎn)擊單元格都創(chuàng)建一個(gè)地圖。因?yàn)锳頁(yè)面和B頁(yè)面切換速度過(guò)快,地圖繪制是很耗時(shí)間的,地圖還沒(méi)有創(chuàng)建出來(lái)就退出,有時(shí)候就會(huì)導(dǎo)致內(nèi)存泄露--crash。
分享題目:ios地圖開(kāi)發(fā)ios,iOS地圖開(kāi)發(fā)
當(dāng)前路徑:http://chinadenli.net/article47/dsihhej.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、App開(kāi)發(fā)、定制開(kāi)發(fā)、微信公眾號(hào)、網(wǎng)站設(shè)計(jì)公司、面包屑導(dǎo)航
聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)