李釗 吳瓊霖 杜美玲
摘要: 通過(guò)地圖檢索應(yīng)用程序的開發(fā),探索研究基于iPhone百度地圖應(yīng)用程序的開發(fā)流程,實(shí)現(xiàn)了地圖顯示、地圖檢索和路線檢索等功能,對(duì)移動(dòng)地圖應(yīng)用程序的開發(fā)實(shí)現(xiàn)有一定的借鑒作用。
關(guān)鍵詞: IPhone; 百度地圖; 移動(dòng)應(yīng)用
中圖分類號(hào):TN929.5 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)05-1036-02
Design and Application of Map Search Application Based on IPhone
LI Zhao, WU Qiong- Lin, DU Mei-Ling
(The Information Engineering College of North China University of Technology, Beijing 100144, China)
Abstract:By developing the map retrieval applications,we have researched the process of development Baidu Maps application basing on Iphone.we have achieved the map search and retrieval functions. It will be of great help to develop mobile applications.
Key words:IPhone; baidu map; mobile application
隨著通信技術(shù)的發(fā)展,移動(dòng)用戶終端的增加,促使移動(dòng)應(yīng)用程序的快遞發(fā)展。同時(shí)由于3G、4G和WIFI的發(fā)展,終端上網(wǎng)資費(fèi)的降低,移動(dòng)網(wǎng)絡(luò)應(yīng)用正在成為當(dāng)今移動(dòng)市場(chǎng)的主體。具有特定功能的應(yīng)用更能方便用戶的使用,用戶只需點(diǎn)開應(yīng)用即可查詢相應(yīng)的信息。憑借iphone的完美體驗(yàn),使得iphone應(yīng)用具有極大的市場(chǎng)空間。
地圖應(yīng)用程序以快捷方便直觀的方式來(lái)展示地理位置信息。地圖是移動(dòng)應(yīng)用的重要資源,使得用戶能夠搜索目標(biāo)、位置定位和路線規(guī)劃等。該文對(duì)依據(jù)百度地圖API對(duì)iPhone地圖開發(fā)進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。
1 iPhone開發(fā)平臺(tái)簡(jiǎn)介
開發(fā)iPhone應(yīng)用使用的平臺(tái)是Xcode, 它是一個(gè)集成了如C++、Objectiv e-C 等語(yǔ)言的一個(gè)開發(fā)平臺(tái), 通過(guò)它可開發(fā)出不同類型的應(yīng)用。開發(fā)的應(yīng)用主要在iphone模擬器上進(jìn)行調(diào)試運(yùn)行。
Iphone開發(fā)語(yǔ)言主要為Objective-C, Objective-C是擴(kuò)充C的面向?qū)ο缶幊陶Z(yǔ)言,可以在支持gcc運(yùn)作的系統(tǒng)上編寫代碼和編譯,同時(shí)又可以與c/c++混合編程。
2 iPhone地圖應(yīng)用
2.1 功能設(shè)計(jì)
地圖搜索應(yīng)用程序包括了信息搜索、標(biāo)注顯示、路線檢索等基本功能模塊。在主界面上,顯示百度地圖,用戶可以在搜索欄中查詢相關(guān)城市的相關(guān)內(nèi)容。觸摸相應(yīng)信息的標(biāo)注即可查看搜索的內(nèi)容,并且用戶可以點(diǎn)擊“從這里出發(fā)”或“到這里來(lái)”來(lái)進(jìn)行路線查詢。
2.2 地圖顯示和搜索實(shí)現(xiàn)
在應(yīng)用中顯示地圖,需要?jiǎng)?chuàng)建BMKMapView對(duì)象,并在viewDidLoad 方法中設(shè)置地圖的各種屬性,如標(biāo)注等。BMKAnnotation為標(biāo)注對(duì)應(yīng)的protocal,同時(shí)應(yīng)用可以自定義標(biāo)注類實(shí)現(xiàn)該protocal。在地圖標(biāo)注中,需要實(shí)現(xiàn)BMKMapViewDelegate的mapView:viewForAnnotation:函數(shù)。
同時(shí),為了實(shí)現(xiàn)目標(biāo)的查詢,需要實(shí)現(xiàn)基于地圖的搜索。百度地圖API中提供的搜索服務(wù)很多,其中主要有:POI檢索、多關(guān)鍵詞檢索,公交方案檢索,駕車路線檢索,步行路線檢索等, 其中所有這些檢索請(qǐng)求均為異步接口。要實(shí)現(xiàn)搜索功能,必須在應(yīng)用中實(shí)現(xiàn)BMKSearchDelegate協(xié)議。用戶點(diǎn)擊查詢按鈕之后,API會(huì)回調(diào)BMKSearchDelegate對(duì)應(yīng)的接口,通知調(diào)用者檢索結(jié)果數(shù)據(jù)。在本文中主要實(shí)現(xiàn)方法: -(void)onGetPoiResult:(NSArray*)poiResultList searchType:(int)type errorCode:(int)error。
2.3 路線檢索
路線檢索主要分公交方案檢索、駕車方案檢索和步行檢索,實(shí)現(xiàn)路線檢索需要?jiǎng)?chuàng)建BMKSearch對(duì)象,實(shí)現(xiàn)BMKSearchDelegate協(xié)議。對(duì)不同的檢索類別實(shí)現(xiàn)不同的BMKSearchDelegate中的方法。公交方案檢索實(shí)現(xiàn):- (void)onGetTransitRouteResult:(BMKPlanResult*)result errorCode:(int)error,駕車方案檢索實(shí)現(xiàn):- (void)onGetDrivingRouteResult:(BMKPlanResult*)result errorCode:(int)error,步行檢索主要實(shí)現(xiàn):- (void)onGetWalkingRouteResult:(BMKPlanResult*)result errorCode:(int)error。
3 界面效果
程序主要包含地圖顯示、地圖檢索和路線檢索等功能。具體運(yùn)行效果如圖 1所示。
a)地圖搜索 b)路線檢索
圖 1 界面效果
4 結(jié)束語(yǔ)
本文通過(guò)地圖檢索應(yīng)用程序的開發(fā),探索研究基于iPhone百度地圖應(yīng)用程序的開發(fā)流程,通過(guò)實(shí)踐,為今后需要在移動(dòng)開發(fā)平臺(tái)下開發(fā)應(yīng)用程序提供幫助。
參考文獻(xiàn):
[1] Dave Mark, Jeff LaMarche.iPhone 開發(fā)基礎(chǔ)教程[M].漆振,解巧云,孫文磊,等,譯.北京:北京人民郵電出版社, 2008.
[2] Dave M,LaMarche J.Begin iPhone3 Development Exploring the iPhone SDK [EB/OL]. (2011-04-22).http:/ /ish are.iask. sina. com. cn /f /14805802. Html.
[3] iPhone App的特點(diǎn)及基本設(shè)計(jì)方法[EB/OL].http://www.cocoachina.com/newbie/tutorial/2010/1203/2432.html.
[4] 編程筆記(Objective-c:MVC 模式)[EB/OL].http://blog.csdn.net/zhangxingping/article/details/7372250.