真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ios開發(fā)地圖,iOS地圖指南

ios如何開發(fā)地圖app

App內(nèi)根據(jù)手機上裝載的地圖App將其顯示在彈出的選擇框,選擇對應(yīng)地圖跳轉(zhuǎn)進入地圖導(dǎo)航。需要用到- (BOOL)canOpenURL:(NSURL *)url NS_AVAILABLE_IOS(3_0);方法判斷手機是否已安裝相應(yīng)地圖App。

創(chuàng)新互聯(lián)公司主營吳忠網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,APP應(yīng)用開發(fā),吳忠h5微信小程序開發(fā)搭建,吳忠網(wǎng)站營銷推廣歡迎吳忠等地區(qū)企業(yè)咨詢

要進行跳轉(zhuǎn)需要先在xcode的plist文件內(nèi)將目標(biāo)App的url Scheme加入白名單(LSApplicationQueriesSchemes)。

IOS實現(xiàn)應(yīng)用內(nèi)打開第三方地圖app進行導(dǎo)航

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

這個功能實現(xiàn)不難,個人感覺比應(yīng)用內(nèi)嵌入第三方地圖導(dǎo)航SDK用起來更舒服,更接地氣,逼格也高點,主要要的是簡單(畢竟人家啥都處理好了)。

上項目效果圖(還是想吐槽下傻逼的產(chǎn)品,為啥不直接照搬微信的界面,至少比自己的好看)

這里有一個重點,主要是彈出的選擇框的選項并不是固定的,而是根據(jù)你手機上有沒有安裝這個地圖應(yīng)用,沒有就不會出現(xiàn)。

這里就要用到

- (BOOL)canOpenURL:(NSURL*)urlNS_AVAILABLE_IOS(3_0);

判斷手機上有沒有安裝該地圖應(yīng)用。

所以要知道地圖應(yīng)用的url?Scheme。

這里提供了幾個常用地圖應(yīng)用的url?Scheme:

baidumap//百度地圖

iosamap//高德地圖

comgooglemaps//谷歌地圖

qqmap//騰訊地圖

….//其他地圖省略

蘋果地圖不需要,因為它是蘋果地圖啊,這樣也好,能保證沒有安裝其他地圖app,至少還有一個蘋果地圖,而且蘋果地圖在IOS9也做的越來越好了,本身API提供了一個跳轉(zhuǎn)打開方法。

這里插入一個小細節(jié),在IOS9之后,蘋果進一步完善了安全機制,必須在plist里面設(shè)置url scheme白名單,不然無法打開對應(yīng)的應(yīng)用

前方高能,重點來了!?。。?/p>

這里我抽了個方法返回支持導(dǎo)航的地圖信息數(shù)組:

這里只要傳入提供的坐標(biāo)點,就打包好了需要的信息。

什么,你說彈出?那玩意自己去寫,不想寫,自己去找,不然就用系統(tǒng)的actionSheet。

最后結(jié)尾還有個小插曲,由于我們后臺給的目標(biāo)經(jīng)緯度是百度坐標(biāo)系,項目用的也是百度地圖,界面上展示是沒啥問題了,但是由于不同的地圖有自己的坐標(biāo)系,而要用它們進行導(dǎo)航,那傳給它們的必須是標(biāo)準(zhǔn)的經(jīng)緯度坐標(biāo),這就蛋疼了,百度這坑爹只有提供了標(biāo)準(zhǔn)的轉(zhuǎn)成它自己的坐標(biāo)系,而沒有提供反轉(zhuǎn)的方法,去官網(wǎng)開發(fā)者社區(qū)發(fā)帖,也沒用,只是回答你沒有提供,所以我猜傳言百度地圖SDK是實習(xí)生寫的還是有一定的可靠性。

沒辦法,只能求爺爺告奶奶,去查找對應(yīng)的資料,還是找到一個第三方的轉(zhuǎn)換方法 ,但是仍然有一定的偏差,能接受的就接受吧。

iOS App地圖功能開發(fā)(2)MapKit地圖加載

上次我們說到在蘋果開發(fā)者官網(wǎng)查看MapKit文檔,下面直接講解如何加載MapKit的視圖及相關(guān)的屬性。

導(dǎo)入系統(tǒng)文件,創(chuàng)建MKMapView對象即可,地圖就可以加載了。

ios 開發(fā)中怎么 在調(diào)用百度地圖時自動選擇出行方式

1 適用環(huán)境

移動設(shè)備瀏覽器端應(yīng)用和移動App應(yīng)用均可調(diào)起iOS版百度地圖。

2 協(xié)議形式

無論是基于移動瀏覽器端的應(yīng)用開發(fā)還是基于iOS

SDK的應(yīng)用開發(fā)均可采用如下協(xié)議調(diào)起iOS版百度地圖。該協(xié)議要正確執(zhí)行除了要參數(shù)填寫正確外,還必須要安裝iOS百度地圖。

protocol://product/[service/]action[?parameters] //parameters功能參數(shù)定義,具體規(guī)范見功能協(xié)議說明

示例:

baidumap://map/direction?origin=中關(guān)村destination=五道口mode=drivingregion=北京

//本示例是通過該URL啟動地圖app并進入北京市從中關(guān)村到五道口的駕車導(dǎo)航路線圖

組成說明:

參數(shù)名稱

參數(shù)說明

是否必選

備注

protocol

產(chǎn)品線協(xié)議頭,例如baidumap表示百度地圖

必選

product

產(chǎn)品線名稱,例如如百度地圖客戶端(map)

必選

product下可直接跟方法,當(dāng)然產(chǎn)品線也可增加一個service級別

service

具體功能服務(wù)名稱,如POI檢索服務(wù)(place)

必選

action

方法名稱,如POI檢索中的詳情檢索(detail)

必選

parameters

方法參數(shù),參考各個功能協(xié)議說明的定義

必選

3 功能使用說明

3.1 標(biāo)注

調(diào)用該接口可調(diào)起IOS百度地圖,且在指定坐標(biāo)點上顯示點的名稱和內(nèi)容信息。

服務(wù)地址

baidumap://map/marker //iOS服務(wù)地址

參數(shù)說明

參數(shù)名稱

參數(shù)說明

是否必選

備注

location

lat緯度,lng經(jīng)度

必選

title

標(biāo)注點顯示標(biāo)題

必選

product下可直接跟方法,當(dāng)然產(chǎn)品線也可增加一個service級別

content

標(biāo)注點顯示內(nèi)容

必選

coord_type

坐標(biāo)類型,可選參數(shù),默認為bd09ll。

可選

允許的值為bd09ll、gcj02、wgs84。bd09ll表示百度經(jīng)緯度坐標(biāo),

gcj02表示經(jīng)過國測局坐標(biāo),wgs84表示gps獲取的坐標(biāo)。

zoom

展現(xiàn)地圖的級別,默認為視覺最優(yōu)級別。

可選

src

調(diào)用來源,規(guī)則:companyName|appName。

必選

此參數(shù)不傳值,不保證服務(wù)。

代碼片段

//網(wǎng)頁應(yīng)用調(diào)起iOS百度地圖方式舉例

a href="baidumap://map/marker?location=40.047669,116.313082title=我的位置content=百度奎科大廈src

=yourCompanyName|yourAppName"地圖標(biāo)點/a

ios開發(fā)百度地圖 怎么根據(jù)地址查詢經(jīng)緯度

(void)longPress:(UIGestureRecognizer*)gestureRecognizer {

if (gestureRecognizer.state == UIGestureRecognizerStateBegan){ //這個狀態(tài)判斷很重要

//坐標(biāo)轉(zhuǎn)換

CGPoint touchPoint = [gestureRecognizer locationInView:self.mapView];

CLLocationCoordinate2D touchMapCoordinate =

[self.mapView convertPoint:touchPoint toCoordinateFromView:self.mapView];

//這里的touchMapCoordinate.latitude和touchMapCoordinate.longitude就是想要的經(jīng)緯度,

NSLog(@"%f",touchMapCoordinate.latitude);

NSLog(@"%f",touchMapCoordinate.longitude);

//30.264998 120.122538 30.285012 120.117989

LocationObject *aLocationObject = [[LocationObject alloc]initWithTitle:@"hello" latitue:touchMapCoordinate.latitude longitude:touchMapCoordinate.longitude];

aLocationObject._subTitleString = @"world";

NSMutableArray *_mapAnnotations = [[NSMutableArray alloc]initWithCapacity:1];

[_mapAnnotations addObject:aLocationObject];

[self.mapView addAnnotations:_mapAnnotations ];

[_mapAnnotations release];

[aLocationObject release];

}

}

IOS開發(fā)中使用高德地圖所遇到的問題

解決的辦法:A頁面生成一個mapView,然后大家共用它,而不是每次點擊單元格都創(chuàng)建一個地圖。因為A頁面和B頁面切換速度過快,地圖繪制是很耗時間的,地圖還沒有創(chuàng)建出來就退出,有時候就會導(dǎo)致內(nèi)存泄露--crash。


分享名稱:ios開發(fā)地圖,iOS地圖指南
標(biāo)題來源:http://weahome.cn/article/hoioic.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部