转载自:http://blog.csdn.net/shiyiyufen/article/details/8954038

也可参考这篇文章:

http://www.verydemo.com/demo_c134_i6937.html

原始地址:iOS 6苹果地图应用(MapKit)-打开外部应用

在iOS 6中,苹果把google地图换成了自己的地图,看上去不错。

效果图:

iOS 6以下(google map web)

iOS 6

  

实现代码

头文件导入和判断版本的预定义声明

[cpp]  view plain copy print ?
  1. #import <MapKit/MapKit.h>
  2. define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)

具体实现

[cpp]  view plain copy print ?
  1. CLLocationCoordinate2D coords1 =
  2. CLLocationCoordinate2DMake(30.691793,104.088264);
  3. CLLocationCoordinate2D coords2 =
  4. CLLocationCoordinate2DMake(30.691293,104.088264);
  5. if (SYSTEM_VERSION_LESS_THAN(@"6.0"))// ios6以下,调用google map
  6. {
  7. NSString *urlString = [[NSString alloc]
  8. initWithFormat:@"http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f&dirfl=d",
  9. coords1.latitude,coords1.longitude,coords2.latitude,coords2.longitude];
  10. NSURL *aURL = [NSURL URLWithString:urlString];
  11. //打开网页google地图
  12. [[UIApplication sharedApplication] openURL:aURL];
  13. }else// 直接调用ios自己带的apple map
  14. {
  15. //当前的位置
  16. //MKMapItem *currentLocation = [MKMapItem mapItemForCurrentLocation];
  17. //起点
  18. MKMapItem *currentLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:coords1 addressDictionary:nil]];
  19. //目的地的位置
  20. MKMapItem *toLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:coords2 addressDictionary:nil]];
  21. toLocation.name = @"目的地";
  22. NSArray *items = [NSArray arrayWithObjects:currentLocation, toLocation, nil];
  23. /*
  24. //keys
  25. MKLaunchOptionsMapCenterKey:地图中心的坐标(NSValue)
  26. MKLaunchOptionsMapSpanKey:地图显示的范围(NSValue)
  27. MKLaunchOptionsShowsTrafficKey:是否显示交通信息(boolean NSNumber)
  28. //MKLaunchOptionsDirectionsModeKey: 导航类型(NSString)
  29. {
  30. MKLaunchOptionsDirectionsModeDriving:驾车
  31. MKLaunchOptionsDirectionsModeWalking:步行
  32. }
  33. //MKLaunchOptionsMapTypeKey:地图类型(NSNumber)
  34. enum {
  35. MKMapTypeStandard = 0,
  36. MKMapTypeSatellite,
  37. MKMapTypeHybrid
  38. };
  39. */
  40. NSDictionary *options = @{
  41. MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,
  42. MKLaunchOptionsMapTypeKey:
  43. [NSNumber numberWithInteger:MKMapTypeStandard],
  44. MKLaunchOptionsShowsTrafficKey:@YES
  45. };
  46. //打开苹果自身地图应用,并呈现特定的item
  47. [MKMapItem openMapsWithItems:items launchOptions:options];
  48. }

iOS 6苹果地图应用(MapKit)-打开外部应用(导航)相关推荐

  1. iOS 应用苹果地图

    地图应用开发主要使用Map Kit API,其核心是MKMapView类. 1.显式地图 在Map Kit API中,显式地图的视图是MKMapView,委托协议是MKMapViewDelegate. ...

  2. 苹果地图(MapKit)总结

    2019独角兽企业重金招聘Python工程师标准>>> 1.基本调用 导入mapkit framework #import <mapkit/mapkit.h> new M ...

  3. IOS 调用苹果地图

    //当前的位置MKMapItem *currentLocation = [MKMapItem mapItemForCurrentLocation];//目的地的位置MKMapItem *toLocat ...

  4. uniapp 微信小程序地图,在高德app、腾讯app、百度app、苹果地图app 中打开

    一.效果: 点击图片一后,会跳转到图片二页面(无需自己写图片二页面,小程序会自动打开此页面) PS:示例图中(坐标)为"天安门".( <map> 可添加多个坐标点 ) ...

  5. iOS学习笔记-地图MapKit入门

    代码地址如下: http://www.demodashi.com/demo/11682.html 这篇文章还是翻译自raywenderlich,用Objective-C改写了代码.没有逐字翻译,如有错 ...

  6. iOS之苹果和百度地图的使用

    iOS 中使用较多的3款地图,google地图.百度地图.苹果自带地图(高德).其中苹果自带地图在中国使用的是高德的数据.苹果在iOS 6之后放弃了使用谷歌地图,而改用自家的地图.在国内使用的较多的就 ...

  7. iOS 11为苹果地图带来了哪些改进?

    在地图 App 上,苹果公司一直都在追击着谷歌,而 iOS 11 也为苹果地图带来了许多改进,不如现在就让我们一起来汇总看看,截止到目前为止,iOS 11 到底为苹果地图带来了哪些不错的改进. Fly ...

  8. 苹果地图副总裁_苹果地图表现糟糕 iOS副总裁福斯特难辞其咎

    苹果iOS高级副总裁福斯特演示苹果地图(腾讯科技配图) 腾讯科技讯(张和)北京时间9月30日消息,<财富>杂志网络版近日撰文称,作为苹果地图应用和Siri语音助手软件的负责人,苹果iOS副 ...

  9. IOS 地图导航(其中包括苹果地图、百度地图、高德地图、谷歌地图)

    前言:地图导航功能如果是导入第三方包来进行开发会增加App的大小,而通过openUrl来直接打开对应App软件显然是一个性价比较高的做法,因为IPhone手机本身就带有地图功能,所有我们并不用担心会出 ...

最新文章

  1. OpenAI Gym介绍
  2. 用C语言编写一个Linux下的简单shell程序
  3. 6.OSI七层网络模型与TCP/IP四层网络模型
  4. 怎么写字_写字楼外卖员不让进怎么办?写字楼外卖柜提供解决方案!
  5. 中装订线位置_企业宣传画册、产品目录常用的装订方法
  6. 【Python学习】 - anaconda中spyder的常用快捷键总结
  7. 《新财富》2015年第13届分析师排名
  8. 委派控制-将计算机加入域
  9. java 整型list_Java:集合,对列表(List)中的数据(整型、字符串、日期等)进行排序(正序、倒序)的方法;字符串按照整型排序的方法...
  10. 【TWVRP】基于matlab遗传和模拟退火算法求解带时间窗的取送货问题【含Matlab源码 1139期】
  11. 如何实现一套鼠标键盘控制二台主机
  12. awk将txt转换为csv
  13. 4W家庭理财 V2.0
  14. 程序员培训学多久?学半年能做程序员吗?
  15. 为什么感知机不能表示异或?
  16. Python 爬虫实践:《战狼2》豆瓣影评分析
  17. 百度地图API—简易操作
  18. 基于RFID定位技术的室内定位原理--RFID室内定位--新导智能
  19. 《我是一只IT小小鸟》书评──将要成为IT小小鸟
  20. matlab画动图留下末端点轨迹,请问Matlab robotic Toolbox中怎么让机械手运动时末端走过的轨迹显示出来?...

热门文章

  1. 虾青素,二个月后的体检报告结果!
  2. OpenGL ES: (5) OpenGL的基本概念、OpenGL ES 在屏幕产生图片的过程、OpenGL管线(pipeline)...
  3. 面试:解释一下什么是AOP
  4. ModuleNotFoundError: No module named ‘tensorflow_hub‘
  5. HomeKitnbsp;开发指南(中文版)
  6. 乙级1037 在霍格沃茨找零钱
  7. 刷脸支付实现校园内消费和身份识别
  8. bartender二维码固定大小
  9. 关于flex开发中的跨域访问问题
  10. 引用别人的毕业论文参考文献怎么标注