ios6以下我们一般用google地图来导航,但ios6中调用会有点问题,会打开web浏览器再询问之类的,不直观友好。所以在ios6中建议直接用apple map。本来调用apple map应该和调用google map类似,但使用:

http://maps.apple.com/maps?saddr=%f,%f&daddr=%f,%f 会提示无法定位,不知道为什么?

使用maps://saddr=%f,%f&daddr=%f,%f 会找不到当前位置,也不清楚原因?

不过还是找到了解决方法,如下(包括两种地图调用方式):

if (SYSTEM_VERSION_LESS_THAN(@"6.0")) { // ios6以下,调用google map

            NSString *urlString = [[NSString alloc]

                        initWithFormat:@"http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f&dirfl=d",

                        cutLat,cutLon,stationLat,stationLon];

            NSURL *aURL = [NSURL URLWithString:urlString];

            [urlString release];

            [[UIApplication sharedApplication] openURL:aURL];

        } else { // 直接调用ios自己带的apple map

            CLLocationCoordinate2D to;

            to.latitude = stationLat;

            to.longitude = stationLon;

            MKMapItem *currentLocation = [MKMapItem mapItemForCurrentLocation];

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

            toLocation.name = @"Destination";

            [MKMapItem openMapsWithItems:[NSArray arrayWithObjects:currentLocation, toLocation, nil]

                           launchOptions:[NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:MKLaunchOptionsDirectionsModeDriving, [NSNumber numberWithBool:YES], nil]

                                                                     forKeys:[NSArray arrayWithObjects:MKLaunchOptionsDirectionsModeKey, MKLaunchOptionsShowsTrafficKey, nil]]];

            [toLocation release];

        }

记得加上:

#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
   

在ios6中调用苹果地图用于导航 (地图开发)相关推荐

  1. 平行进口加版、美规奔驰GLS更换中规主机汉化导航地图,中文语音,AR实景和记录仪等功能

    说起现在的百万豪车奔驰GLS450,车上没有地图导航,人机中文交互,这说出去可能不信,但它实实在在确实没有,因为是平行进口车,所以地图导航界面都是国外的,如需要国内的地图导航,需要更换一台原厂中规主机 ...

  2. js中调用C标签实现百度地图

    <script type="text/javascript">    //json数组    var jsonArray =document.getElementByI ...

  3. 关于如何调用苹果自带的地图APP

    CLGeocoder *geoCoder = [[CLGeocoder alloc] init]; // 通过地理编码,得到位置, CLLocation *loc = [[CLLocation all ...

  4. ios开发中如何调用苹果自带地图导航

    前段时间一直在赶项目,在外包公司工作就是命苦,天天加班不说,工作都是和工期合同挂钩的,稍微逾期就有可能被扣奖金,不谈这些伤脑筋的事情了,让我们说说iOS开发中如何调用苹果手机自带的地图. 学习如逆水行 ...

  5. ios项目中调用百度地图iphone版与百度地图HDipad版的坑

    最近在写项目的时候发现了项目中调用百度地图的一个坑,iphone版与ipad版的不同. 一.首先百度地图在ipad上叫百度地图HD,要区分有GPS和没GPS版,也就是说没GPS的没有导航功能,在使用项 ...

  6. 学习笔记4--车用地图与导航技术(上)

    本系列博客包括6个专栏,分别为:<自动驾驶技术概览>.<自动驾驶汽车平台技术基础>.<自动驾驶汽车定位技术>.<自动驾驶汽车环境感知>.<自动驾驶 ...

  7. Android开发中调用系统窗口的方法

    //直接拨号 Intent callIntent = new Intent(Intent.ACTION_CALL,Uri.parse("tel:12345678")); start ...

  8. 如何通过JNI在Java中调用C库函数

    使用Java语言进行开发时,可能由于处理速度.硬件控制或者复用既有的C/C++模块等方面的原因,需要Java层与使用C/C++编写的应用.模块或库进行交互,共同完成某些任务.在两者之间充当连接桥梁作用 ...

  9. 初识高德地图和百度地图

    高德地图 高德开放平台(http://lbs.amap.com/)做的还是蛮好的,至少源码下载后可以直接跑通. 要使用高德sdk,首先还是注册用户.申请key,这里只是提一下debug版本的sha1生 ...

最新文章

  1. 一起学spring--spring事件机制--监听器
  2. 23_传智播客iOS视频教程_类的对象的创建
  3. 如何从技术牛人升阶为管理牛人
  4. 操作系统:第四章 文件管理2 - 磁盘管理,磁盘调度算法
  5. 单片机c语言随机数,单片机C语言如何产生随机数
  6. ES5 数组扩展方法 forEach/filter/map的使用与重写
  7. 2016蓝桥杯省赛---java---B---1(有奖猜谜)
  8. Java多线程_JUC包下的阻塞队列
  9. AR增强现实开发介绍
  10. 常用shell命令归纳总结
  11. matlab 入门 mobi,MATLAB基础教程 pdf epub mobi txt 下载
  12. 巴比特独家 | 我们梳理98家新三板公司年报,发现企业布局区块链6大特点
  13. 基于EEG信号与面部表情的连续情绪识别
  14. matlab怎样求线性方程组,MATLAB线性方程组求解
  15. 外网下载速度过慢问题解决办法
  16. 电脑蓝屏代码解释与解决方案
  17. OpenCV基础(4)使用OpenCV裁剪图像
  18. 关于如何让模拟器(包括虚拟机哦) 更加流畅
  19. Mysql 创建表时报错1103:Incorrect table name【问题记录】
  20. Instant Contiki 安装笔记——SDCC和CC2530

热门文章

  1. ios core plot设置xy坐标
  2. 参数估计与假设检验—拒绝域的数学证明(手写)
  3. 辽宁教师计算机能力提升,辽宁省中学教师信息化教学能力的现状分析与提升策略研究...
  4. python 基于Tkinter的姻缘测试器
  5. dedecms怎么改php版本_王者荣耀:管你版本怎么改,这几位峡谷常青树始终屹立不倒...
  6. linux ubuntu系统 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)数据
  7. 【CSS 遮挡和剪切属性 Masking】
  8. GITLAB服务常用命令
  9. ImageButton点击替换背景再次点击显示默认图片
  10. Surface电池寿命延长