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

基于iOS的地圖類APP的開(kāi)發(fā)應(yīng)用研究

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

劉春林 張翠翠

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

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

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

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

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

1.1 引用地圖API

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

Platfor:ios,6.0

Pod ‘BaiduMapKit

然后對(duì)項(xiàng)目plist進(jìn)行配置,并在AppDelegate.m中導(dǎo)入頭文件:

#import

運(yùn)用didFinishLaunchingWithOptions方法創(chuàng)建一個(gè)百度地圖對(duì)象,代碼如下:

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

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

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

//啟動(dòng)地圖

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

if (!MySuccess) {

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

}

return YES;

}

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

-(void)onGetNetworkState:(int)MyError

{

if (0 == MyError) {

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

else{

NSLog(@”onGetNetworkState啟動(dòng)失敗,編號(hào)%d”, MyError); }

}

-(void)onGetPermissionState:(int) MyError

{

if (0 == MyError) {

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

else {

NSLog(@”onGetPermissionState啟動(dòng)失敗,編號(hào): %d”, MyError);}

}

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

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

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

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

LclShow.isRotateAngleValid = true;

LclShow.isAccuracyCircleShow = true;

LclShow.locationViewOffsetX = 0;

LclShow.locationViewOffsetY = 0;

[_mapView updateLocationViewWithParam: LclShow];

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

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

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

信息窗口、標(biāo)注、矢量元素等均為覆蓋物,其本身?yè)碛械乩碜鴺?biāo),如果我們對(duì)地圖進(jìn)行縮放操作、拖動(dòng)地圖操作,它們會(huì)發(fā)生相對(duì)應(yīng)的變化。如果要增加覆蓋物,可使用addOverlay()方法,如果要?jiǎng)h除覆蓋物,則使用removeOverlay()方法。

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

應(yīng)注意的是,初始化“工具”類,必須按照地圖所要求的實(shí)例參數(shù)來(lái)提供,才能使“工具”在該地圖上生效??梢栽诘貓D上同時(shí)添加數(shù)個(gè)“工具”,但同一時(shí)刻僅有一個(gè)“工具”處于開(kāi)啟狀態(tài)。

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

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

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 偵聽(tīng)事件

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

4 自定義地圖圖層

因?yàn)榘俣鹊貓D對(duì)隱私比較注重,通過(guò)截屏出來(lái)的圖片沒(méi)有地圖圖層。解決的思路是,百度地圖API中有截圖的方法,可以通過(guò)地圖管理對(duì)象調(diào)截圖方法,如果項(xiàng)目中需求圖片還有除地圖之外的信息,就需要將兩個(gè)圖片進(jìn)行拼接,才能得到想要的圖片。

5 結(jié)語(yǔ)

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

[參考文獻(xiàn)]

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

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

[3]趙鵬程,胡慶武,劉仙雄,等.面向iOS的移動(dòng)端全景地圖構(gòu)建方法[J].地理與地理信息科學(xué),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
百度年度熱搜榜
用對(duì)方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
百度遭投行下調(diào)評(píng)級(jí)
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚(yú)
百度“放衛(wèi)星”,有沒(méi)有可能?
太空探索(2014年4期)2014-07-19 10:08:58
主站蜘蛛池模板: m男亚洲一区中文字幕| 青青青国产在线播放| 中国美女**毛片录像在线| 欧美日韩亚洲国产| 精品国产www| av一区二区三区在线观看| 午夜视频日本| 国产成人精品一区二区| 色久综合在线| 国产爽妇精品| 99久久亚洲综合精品TS| 69国产精品视频免费| 亚洲欧美一区二区三区蜜芽| 午夜视频在线观看免费网站| 欧美视频免费一区二区三区| 人人妻人人澡人人爽欧美一区| 日本高清成本人视频一区| 欧美不卡视频在线观看| 欧美精品成人| 国产精品亚洲五月天高清| 欧美一区二区三区香蕉视| 免费无遮挡AV| 婷婷久久综合九色综合88| 尤物精品视频一区二区三区| 日韩不卡高清视频| 亚洲欧美不卡视频| 亚洲国产日韩在线成人蜜芽| 高清欧美性猛交XXXX黑人猛交| 国产成人精品视频一区视频二区| 国产对白刺激真实精品91| 日本精品一在线观看视频| 婷婷色狠狠干| 国产欧美日韩va另类在线播放| 亚洲制服中文字幕一区二区| 婷婷色中文网| 亚洲欧洲日本在线| 91色老久久精品偷偷蜜臀| 国产高清免费午夜在线视频| 国产真实乱子伦视频播放| 国产精品视频白浆免费视频| 欧美性猛交一区二区三区| 久久99精品久久久久久不卡| 婷婷激情五月网| 中文字幕人妻av一区二区| 毛片国产精品完整版| 国产免费怡红院视频| 久久狠狠色噜噜狠狠狠狠97视色 | 77777亚洲午夜久久多人| 91年精品国产福利线观看久久 | 中文字幕人成人乱码亚洲电影| 国产精品视频第一专区| 亚洲va在线∨a天堂va欧美va| 18禁色诱爆乳网站| 日韩AV手机在线观看蜜芽| 久久精品亚洲中文字幕乱码| 重口调教一区二区视频| 999精品色在线观看| 91精品伊人久久大香线蕉| 女人天堂av免费| JIZZ亚洲国产| 午夜国产精品视频| 国产视频你懂得| 国产精品一区二区国产主播| 91亚洲视频下载| 国产成人91精品| 亚洲午夜天堂| 欧美日韩一区二区在线播放| 香蕉久人久人青草青草| 国产丝袜第一页| 91久久偷偷做嫩草影院| 色偷偷综合网| 99在线观看国产| 亚洲美女一级毛片| 啪啪永久免费av| 欧美综合区自拍亚洲综合绿色| 亚洲视频四区| 日韩福利在线观看| 朝桐光一区二区| 2020久久国产综合精品swag| 亚洲精品日产精品乱码不卡| 欧美亚洲国产一区| 永久成人无码激情视频免费|