APP調(diào)用手機中的蘋果爆存、高德、百度蝗砾、騰訊地圖進行導(dǎo)航

小秀秀終于更新博客啦O冉稀!RK摺拇泣!

過年前,換了一個項目組矮锈,過年來了就變得比之前忙了霉翔,忙著忙著,立了flag學(xué)習(xí)的我苞笨,就這個樣子消失啦,說好的寫博客呢债朵?5月份的我辭職了,6月入職了現(xiàn)在這家公司瀑凝,也算是換了一個工作內(nèi)容吧序芦!之前主要是做企業(yè)項目,現(xiàn)在是做電商粤咪,對我來說還是接觸了很多之前沒有接觸的東西谚中,還是很開心~

一晃又是十月啦,我的博客也該更新咯~~

雖然寫了小筆記寥枝,但是還是被自己弄掉了宪塔,寫在簡書里面,總不會弄掉了囊拜,內(nèi)容會比較潦草某筐,還請各位看官多多包容哦~

APP里面有一個地址,想做一個導(dǎo)航功能冠跷,直接調(diào)起手機里面其他APP的導(dǎo)航南誊,來的比較直接身诺,以下為參考地址,最后封裝成一個類抄囚。

我們APP使用的是騰訊地圖霉赡,我在騰訊開發(fā)平臺沒有找到使用cocoapods集成的方式,只能手動集成怠苔,這一點有些不開心~

比如APP的有些功能是基于定位來推薦的同廉,如果切換到其他地方去呢?參考如下網(wǎng)址進行模擬定位柑司,真的很實用勒~使用Xcode工具模擬定位迫肖,你可以去全世界

三方地圖導(dǎo)航文章
蘋果地圖導(dǎo)航文章

三個地圖的官方文檔地址:

百度地圖文檔地址
高德地圖文檔地址
騰訊地圖文檔地址

百度文檔解釋坐標系地址

我們常說的坐標系有哪些?

  1. WGS84:為一種大地坐標系攒驰,也是目前廣泛使用的GPS全球衛(wèi)星定位系統(tǒng)使用的坐標系蟆湖。

  2. GCJ02:又稱火星坐標系,是由中國國家測繪局制定的地理坐標系統(tǒng)玻粪,是由WGS84加密后得到的坐標系隅津。

  3. BD09:為百度坐標系,在GCJ02坐標系基礎(chǔ)上再次加密劲室。其中bd09ll表示百度經(jīng)緯度坐標伦仍,bd09mc表示百度墨卡托米制坐標。

國外使用WGS84坐標系很洋,國內(nèi)至少使用BD09坐標系

最后將代碼封裝成一個如下的類


+(void)jumpMapsByLat:(NSString *)lat lon:(NSString *)lon address:( NSString *)address{

 NSString *appName = [[[NSBundle mainBundle] infoDictionary]objectForKey:@"CFBundleDisplayName"];

 UIAlertController *controller = [UIAlertController alertControllerWithTitle:@"請選擇地圖" message:nil preferredStyle:UIAlertControllerStyleActionSheet];

 UIAlertAction *action1 = [UIAlertAction actionWithTitle:@"使用蘋果自帶地圖導(dǎo)航" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

 //起點

 MKMapItem *currentLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:[QMDataManager shareManager].location.coordinate addressDictionary:nil]];

 currentLocation.name = @"我的位置";

 CLLocationCoordinate2D coords2 = CLLocationCoordinate2DMake(lat.doubleValue, lon.doubleValue);

 //目的地的位置

 MKMapItem *toLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:coords2 addressDictionary:nil]];

 toLocation.name = address;

 NSArray *items = [NSArray arrayWithObjects:currentLocation, toLocation, nil];

 NSDictionary *options = @{ MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving, MKLaunchOptionsMapTypeKey: [NSNumber numberWithInteger:MKMapTypeStandard], MKLaunchOptionsShowsTrafficKey:@YES };

 //打開蘋果自身地圖應(yīng)用充蓝,并呈現(xiàn)特定的item

 [MKMapItem openMapsWithItems:items launchOptions:options];

 }];

 UIAlertAction *action2 = [UIAlertAction actionWithTitle:@"使用百度地圖導(dǎo)航" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

 if (lat.length == 0|| lon.length == 0) {

 [QMToastManager showWarning:@"暫無坐標信息"];

 return ;

 }

 NSString *urlString = [[NSString stringWithFormat:@"[baidumap://map/direction?origin={{我的位置}}&destination=%@,%@&coord_type=gcj02](baidumap://map/direction?origin=%7B%7B%E6%88%91%E7%9A%84%E4%BD%8D%E7%BD%AE%7D%7D&destination=%25@,%25@&coord_type=gcj02) &mode=walking&src=%@",lat,lon,appName] stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

 NSURL *url = [NSURL URLWithString:urlString];

 [[UIApplication sharedApplication] openURL:url];

 }];

 UIAlertAction *action3 = [UIAlertAction actionWithTitle:@"使用高德地圖導(dǎo)航" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

 if (lat.length == 0|| lon.length == 0) {

 [QMToastManager showWarning:@"暫無坐標信息"];

 return ;

 }

 NSString *urlString = [[NSString stringWithFormat:@"[iosamap://navi?dev=0&sourceApplication=%@&poiname=%@&lat=%@&lon=%@](iosamap://navi?dev=0&sourceApplication=%25@&poiname=%25@&lat=%25@&lon=%25@)",appName ,address,lat,lon] stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];

 }];

 UIAlertAction *action4 = [UIAlertAction actionWithTitle:@"使用騰訊地圖導(dǎo)航" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

 if (lat.length == 0|| lon.length == 0) {

 [QMToastManager showWarning:@"暫無坐標信息"];

 return ;

 }

 NSString *urlString = [[NSString stringWithFormat:@"[qqmap://map/routeplan?type=walk&from=我的位置&to=%@&tocoord=%@,%@&referer=%@](qqmap://map/routeplan?type=walk&from=%E6%88%91%E7%9A%84%E4%BD%8D%E7%BD%AE&to=%25@&tocoord=%25@,%25@&referer=%25@)", address, lat, lon, kTengXunMapAppKey] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];

 }];

 UIAlertAction *action5 = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

 [controller dismissViewControllerAnimated:YES completion:nil];

 }];

 if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"[http://maps.apple.com](http://maps.apple.com)"]]) {

 [controller addAction:action1];

 }

 if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"baidumap://"]]) {

 [controller addAction:action2];

 }

 if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"iosamap://"]]) {

 [controller addAction:action3];

 }

 if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"qqmap://"]]) {

 [controller addAction:action4];

 }

 [controller addAction:action5];

 [CurrentAppDelegate.window.rootViewController presentViewController:controller animated:YES completion:nil];

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市喉磁,隨后出現(xiàn)的幾起案子谓苟,更是在濱河造成了極大的恐慌,老刑警劉巖协怒,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件涝焙,死亡現(xiàn)場離奇詭異,居然都是意外死亡孕暇,警方通過查閱死者的電腦和手機仑撞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來妖滔,“玉大人派草,你說我怎么就攤上這事☆蹰梗” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵艺普,是天一觀的道長簸州。 經(jīng)常有香客問我鉴竭,道長,這世上最難降的妖魔是什么岸浑? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任搏存,我火速辦了婚禮,結(jié)果婚禮上矢洲,老公的妹妹穿的比我還像新娘璧眠。我一直安慰自己,他們只是感情好读虏,可當(dāng)我...
    茶點故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布责静。 她就那樣靜靜地躺著,像睡著了一般盖桥。 火紅的嫁衣襯著肌膚如雪灾螃。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天揩徊,我揣著相機與錄音腰鬼,去河邊找鬼。 笑死塑荒,一個胖子當(dāng)著我的面吹牛熄赡,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播齿税,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼彼硫,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了偎窘?” 一聲冷哼從身側(cè)響起乌助,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎陌知,沒想到半個月后他托,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡仆葡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年赏参,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沿盅。...
    茶點故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡把篓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出腰涧,到底是詐尸還是另有隱情韧掩,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布窖铡,位于F島的核電站疗锐,受9級特大地震影響坊谁,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜滑臊,卻給世界環(huán)境...
    茶點故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一口芍、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧雇卷,春花似錦鬓椭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至祭玉,卻和暖如春氧映,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背脱货。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工岛都, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人振峻。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓臼疫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親扣孟。 傳聞我的和親對象是個殘疾皇子烫堤,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容