李釗 吳瓊霖 杜美玲
摘要: 通過地圖檢索應用程序的開發(fā),探索研究基于iPhone百度地圖應用程序的開發(fā)流程,實現了地圖顯示、地圖檢索和路線檢索等功能,對移動地圖應用程序的開發(fā)實現有一定的借鑒作用。
關鍵詞: IPhone; 百度地圖; 移動應用
中圖分類號:TN929.5 文獻標識碼:A 文章編號: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
隨著通信技術的發(fā)展,移動用戶終端的增加,促使移動應用程序的快遞發(fā)展。同時由于3G、4G和WIFI的發(fā)展,終端上網資費的降低,移動網絡應用正在成為當今移動市場的主體。具有特定功能的應用更能方便用戶的使用,用戶只需點開應用即可查詢相應的信息。憑借iphone的完美體驗,使得iphone應用具有極大的市場空間。
地圖應用程序以快捷方便直觀的方式來展示地理位置信息。地圖是移動應用的重要資源,使得用戶能夠搜索目標、位置定位和路線規(guī)劃等。該文對依據百度地圖API對iPhone地圖開發(fā)進行設計與實現。
1 iPhone開發(fā)平臺簡介
開發(fā)iPhone應用使用的平臺是Xcode, 它是一個集成了如C++、Objectiv e-C 等語言的一個開發(fā)平臺, 通過它可開發(fā)出不同類型的應用。開發(fā)的應用主要在iphone模擬器上進行調試運行。
Iphone開發(fā)語言主要為Objective-C, Objective-C是擴充C的面向對象編程語言,可以在支持gcc運作的系統(tǒng)上編寫代碼和編譯,同時又可以與c/c++混合編程。
2 iPhone地圖應用
2.1 功能設計
地圖搜索應用程序包括了信息搜索、標注顯示、路線檢索等基本功能模塊。在主界面上,顯示百度地圖,用戶可以在搜索欄中查詢相關城市的相關內容。觸摸相應信息的標注即可查看搜索的內容,并且用戶可以點擊“從這里出發(fā)”或“到這里來”來進行路線查詢。
2.2 地圖顯示和搜索實現
在應用中顯示地圖,需要創(chuàng)建BMKMapView對象,并在viewDidLoad 方法中設置地圖的各種屬性,如標注等。BMKAnnotation為標注對應的protocal,同時應用可以自定義標注類實現該protocal。在地圖標注中,需要實現BMKMapViewDelegate的mapView:viewForAnnotation:函數。
同時,為了實現目標的查詢,需要實現基于地圖的搜索。百度地圖API中提供的搜索服務很多,其中主要有:POI檢索、多關鍵詞檢索,公交方案檢索,駕車路線檢索,步行路線檢索等, 其中所有這些檢索請求均為異步接口。要實現搜索功能,必須在應用中實現BMKSearchDelegate協議。用戶點擊查詢按鈕之后,API會回調BMKSearchDelegate對應的接口,通知調用者檢索結果數據。在本文中主要實現方法: -(void)onGetPoiResult:(NSArray*)poiResultList searchType:(int)type errorCode:(int)error。
2.3 路線檢索
路線檢索主要分公交方案檢索、駕車方案檢索和步行檢索,實現路線檢索需要創(chuàng)建BMKSearch對象,實現BMKSearchDelegate協議。對不同的檢索類別實現不同的BMKSearchDelegate中的方法。公交方案檢索實現:- (void)onGetTransitRouteResult:(BMKPlanResult*)result errorCode:(int)error,駕車方案檢索實現:- (void)onGetDrivingRouteResult:(BMKPlanResult*)result errorCode:(int)error,步行檢索主要實現:- (void)onGetWalkingRouteResult:(BMKPlanResult*)result errorCode:(int)error。
3 界面效果
程序主要包含地圖顯示、地圖檢索和路線檢索等功能。具體運行效果如圖 1所示。
a)地圖搜索 b)路線檢索
圖 1 界面效果
4 結束語
本文通過地圖檢索應用程序的開發(fā),探索研究基于iPhone百度地圖應用程序的開發(fā)流程,通過實踐,為今后需要在移動開發(fā)平臺下開發(fā)應用程序提供幫助。
參考文獻:
[1] Dave Mark, Jeff LaMarche.iPhone 開發(fā)基礎教程[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的特點及基本設計方法[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.