999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于iOS的地圖類APP的開發(fā)應用研究

2018-02-22 12:32:00劉春林張翠翠
無線互聯(lián)科技 2018年23期
關(guān)鍵詞:百度方法

劉春林 張翠翠

摘 要:隨著移動互聯(lián)網(wǎng)的快速發(fā)展和人們對APP便利性的需求,旅游導航類、物流類、生活服務(wù)類APP在應用中標配了地圖功能,這些功能越來越受到人們的歡迎,發(fā)揮著越來越重要的作用。另一方面,基于iOS系統(tǒng)的便攜設(shè)備,由于其便攜性、穩(wěn)定性和應用豐富性,擁有著大量的中高端用戶群體。因此,對基于iOS系統(tǒng)的地圖類應用進行研究,掌握其開發(fā)細節(jié)顯得尤為重要。文章以百度地圖為例,研究了基于iOS的地圖類APP的開發(fā)應用。

關(guān)鍵詞:地圖;iOS;API;SDK;開發(fā)

近年來,基于iOS系統(tǒng)的智能手機用戶爆炸式地增長,涉及地圖功能需求的旅游導航類、物流類、生活服務(wù)類APP使用頻率越來越高,要求開發(fā)者必須能熟練運用地圖公司提供的地圖API來快速開發(fā)地圖功能。目前主流的地圖公司均提供地圖開發(fā)API[1]。本文主要以百度地圖API為例,闡述如何在封閉的iOS系統(tǒng)中,進行地圖類APP的開發(fā)應用。

百度地圖提供了非常完善的API,我們可以根據(jù)自己項目的需求選擇百度地圖官方提供的API,其中包含的iOS SDK開發(fā)工具與服務(wù),提供了應用軟件開發(fā)中所需的地圖功能的實現(xiàn)、定位、搜索、路線規(guī)劃等,可應用于大多數(shù)終端設(shè)備和大多數(shù)種操作系統(tǒng)下的地圖應用開發(fā)[2]。本文闡述如何運用百度iOS SDK創(chuàng)建地圖以及添加相關(guān)服務(wù)功能。

1 在APP中創(chuàng)建地圖功能

1.1 引用地圖API

在引用地圖API文件之前,首先要去注冊百度地圖開發(fā)者,創(chuàng)建百度地圖開發(fā)應用,得到百度地圖API密匙。在cocoaPods導入百度SDK。

Platfor:ios,6.0

Pod ‘BaiduMapKit

然后對項目plist進行配置,并在AppDelegate.m中導入頭文件:

#import

運用didFinishLaunchingWithOptions方法創(chuàng)建一個百度地圖對象,代碼如下:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

//創(chuàng)建并初始化一個對象

BMKMapManager *MyManager = [[BMKMapManager alloc] init];

//啟動地圖

BOOL MySuccess = [MyManager start:@”百度地圖AK” generalDelegate:nil];

if (!MySuccess) {

NSLog(@”創(chuàng)建地圖失敗”);

}

return YES;

}

創(chuàng)建百度地圖主對象時,將generalDelegate的參數(shù)設(shè)置為self,主要是為了在onGetNetworkState和onGetPermissionState兩個函數(shù)中偵聽網(wǎng)絡(luò)狀態(tài)和獲得密匙(key)的授權(quán)認證狀態(tài),代碼如下:

-(void)onGetNetworkState:(int)MyError

{

if (0 == MyError) {

NSLog(@”地圖系統(tǒng)聯(lián)網(wǎng)成功!”);}

else{

NSLog(@”onGetNetworkState啟動失敗,編號%d”, MyError); }

}

-(void)onGetPermissionState:(int) MyError

{

if (0 == MyError) {

NSLog(@”地圖系統(tǒng)授權(quán)成功!”); }

else {

NSLog(@”onGetPermissionState啟動失敗,編號: %d”, MyError);}

}

創(chuàng)建地圖截圖如圖1所示。

1.2 創(chuàng)建并初始化BMKMapView

在引入BaiduMapAPI_Map/BMKMapComponent.h頭文件后,聲明BMKMapView并添加到父視圖上,進行地圖初始化:

BMKLocationViewDisplayParam *LclShow = [[BMKLocationViewDisplayParam alloc] init];

LclShow.isRotateAngleValid = true;

LclShow.isAccuracyCircleShow = true;

LclShow.locationViewOffsetX = 0;

LclShow.locationViewOffsetY = 0;

[_mapView updateLocationViewWithParam: LclShow];

完成以上步驟,運行即可看到生成的百度地圖。

2 向地圖中添加覆蓋物、工具、控件

在主控制器中添加覆蓋物、工具和自定義UI控件,可實現(xiàn)外部操作與按鈕等控件的響應事件方法。

信息窗口、標注、矢量元素等均為覆蓋物,其本身擁有地理坐標,如果我們對地圖進行縮放操作、拖動地圖操作,它們會發(fā)生相對應的變化。如果要增加覆蓋物,可使用addOverlay()方法,如果要刪除覆蓋物,則使用removeOverlay()方法。

另外,百度地圖集成很強交互功能的“工具”,它涵蓋有:測距工具DistanceTool、標注工具PushpinTool、區(qū)域縮放工具DragAndZoomTool。

應注意的是,初始化“工具”類,必須按照地圖所要求的實例參數(shù)來提供,才能使“工具”在該地圖上生效。可以在地圖上同時添加數(shù)個“工具”,但同一時刻僅有一個“工具”處于開啟狀態(tài)。

區(qū)域縮放工具卻可以自行配置是否自動關(guān)閉,而標注工具和測距工具在完成一次運行后會自動退出開啟狀態(tài)。

var Lclmap = new BMap.Map(“container”); // 生成新的地圖對象

Lclmap.centerAndZoom(new BMap.Point((110.390, 50.870),12);//110.390表示經(jīng)度,50.870表示緯度,顯示地圖

var LclGongJu = new BMap.DistanceTool(Lclmap);

LclGongJu.open();

3 偵聽事件

百度地圖API的事件機制中提供了addEventListener方法,每一個對象都包含該方法,并且運用這個方法來偵聽對象的事件。addEventListener方法有2個參數(shù):(1)偵聽的事件名;(2)當事件觸發(fā)時所需調(diào)用的函數(shù)。例如,Bmap.Map包含著mousemove,rightclick等事件。當這些事件被觸發(fā)時,偵聽函數(shù)會獲得對應的事件參數(shù)[3]。

4 自定義地圖圖層

因為百度地圖對隱私比較注重,通過截屏出來的圖片沒有地圖圖層。解決的思路是,百度地圖API中有截圖的方法,可以通過地圖管理對象調(diào)截圖方法,如果項目中需求圖片還有除地圖之外的信息,就需要將兩個圖片進行拼接,才能得到想要的圖片。

5 結(jié)語

本文重點討論了在iOS系統(tǒng)中,如何運用百度地圖API創(chuàng)建地圖功能,向地圖中添加覆蓋物、工具、控件,以及偵聽事件、自定義圖層。熟練運用和掌握這些地圖API,對于快速在APP中內(nèi)嵌地圖功能,提高開發(fā)效率,降低地圖類功能的開發(fā)成本具有重要意義和實踐推廣價值。

[參考文獻]

[1]梁廣榮,黎紅.基于百度地圖API的虛擬校園實現(xiàn)[J].廊坊師范學院學報(自然科學版),2012(6):47-49.

[2]董杰,馬宏琳.百度地圖API的安卓開發(fā)技術(shù)研究[J].電腦知識與技術(shù),2017(23):79-80.

[3]趙鵬程,胡慶武,劉仙雄,等.面向iOS的移動端全景地圖構(gòu)建方法[J].地理與地理信息科學,2016(1):95-99.

Abstract:With the rapid development of mobile Internet and peoples demand for APP convenience, travel navigation, logistics, and life service APPs are equipped with map functions in their applications. These functions are more and more popular and play a role. More and more important role. On the other hand, iOS-based portable devices have a large number of mid-to-high-end users due to their portability, stability and application richness. Therefore, it is especially important to study the map application based on iOS system and master the development details. This psper takes the Baidu map as an example, researches the development and application of maps APP based on iOS.

Key words:map; iOS; API; SDK; development

猜你喜歡
百度方法
Robust adaptive UKF based on SVR for inertial based integrated navigation
百度年度熱搜榜
青年與社會(2018年2期)2018-01-25 15:37:06
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
百度遭投行下調(diào)評級
IT時代周刊(2015年8期)2015-11-11 05:50:22
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
百度“放衛(wèi)星”,有沒有可能?
太空探索(2014年4期)2014-07-19 10:08:58
主站蜘蛛池模板: 亚洲有码在线播放| 精品国产成人三级在线观看| 久久精品视频一| 国产超碰在线观看| 四虎永久免费在线| аv天堂最新中文在线| 美女一级毛片无遮挡内谢| 色有码无码视频| 国产成人麻豆精品| 伊人激情综合网| 熟妇丰满人妻av无码区| 无码免费的亚洲视频| 日本午夜视频在线观看| 国产在线八区| 丰满人妻中出白浆| 亚洲综合香蕉| 国产欧美日本在线观看| 国产成人盗摄精品| 久久久久久久久久国产精品| 国产91线观看| 国产欧美精品一区aⅴ影院| 中文字幕波多野不卡一区| 91精品网站| 91色爱欧美精品www| a级毛片网| 国产情侣一区| 毛片基地视频| 四虎永久免费地址| 全午夜免费一级毛片| 国模私拍一区二区三区| 中国一级特黄大片在线观看| 亚洲男人天堂网址| 国产成人91精品免费网址在线| 99久久亚洲精品影院| 国产一区二区三区免费| 国产麻豆aⅴ精品无码| 成人精品午夜福利在线播放| 国产97视频在线观看| 天堂网亚洲系列亚洲系列| 看看一级毛片| 黄色网页在线观看| 午夜激情婷婷| 成年人免费国产视频| 国产亚洲精品97在线观看| 精品99在线观看| 国产美女精品人人做人人爽| 日韩欧美在线观看| 欧美色视频在线| 国产a在视频线精品视频下载| 亚洲精品亚洲人成在线| 国产成人精品高清在线| 婷婷六月激情综合一区| 国产欧美高清| 免费毛片全部不收费的| 亚洲无码精彩视频在线观看 | 一区二区三区在线不卡免费| 尤物精品视频一区二区三区| 免费人成在线观看成人片| 国产男人天堂| 色综合中文综合网| 97色婷婷成人综合在线观看| 国产色伊人| 欧美成人综合在线| 国产免费a级片| www.亚洲一区| 成年A级毛片| 精品亚洲欧美中文字幕在线看| 亚洲精品午夜天堂网页| 久久a毛片| 日本亚洲国产一区二区三区| 国产极品粉嫩小泬免费看| 精品无码专区亚洲| 亚洲性影院| 久久9966精品国产免费| 欧美色亚洲| 91精品啪在线观看国产91| 国产主播在线一区| 在线免费看片a| 免费一级毛片不卡在线播放| 国产午夜人做人免费视频| 亚洲av无码人妻| 久久综合九色综合97网|