欢迎转载,转载请注明出处

本文地址:http://blog.csdn.net/zhenggaoxing/article/details/42710853

综述:

这里的苹果地图调用是指从咱们的软件跳转到苹果地图,我们要做的就是把数据设置弄好,在使用苹果地图就可以了

苹果地图上展示一个点

添加相关的framework
我们要再苹果地图上展示一个点,需要什么呢?1需要位置,2需要位置相关的信息 。有这两个信息就可以了
    CLGeocoder *geocoder=[CLGeocoder new];// 使用地理信息反编码,来获取位置和信息[geocoder geocodeAddressString:textQueryTextField.text completionHandler:^(NSArray *placemarks, NSError *error) {NSLog(@"查询记录数目:%i",(int)[placemarks count]);if ([placemarks count]>0) {CLPlacemark *placemark=placemarks[0];CLLocationCoordinate2D coordinate=placemark.location.coordinate;NSDictionary *address=placemark.addressDictionary;// MKPlacemark 是地图相关信息的类MKPlacemark *place=[[MKPlacemark alloc]initWithCoordinate:coordinate/*位置*/ addressDictionary:address/*相关的信息*/];// MKMapItem 类封装了有关地图上点的信息MKMapItem *mapItem=[[MKMapItem alloc]initWithPlacemark:place];// 调用苹果地图的方法[mapItem openInMapsWithLaunchOptions:nil];[textQueryTextField resignFirstResponder];}}];

要解释一下:1获取了位置信息(CLPlacemark) 2 把位置和信息传给地图(MKPlacemark)3 调用苹果地图(openInMapsWithLaunchOptions 方法)

效果:

展示路线

这里展示的路线是从手机定位位置,到你想去位置的路线,展示路线比展示一个点要多一个要设置的:什么方式去那个点

            //地图上设置行车路线NSDictionary* options =[[NSDictionary alloc]initWithObjectsAndKeys:MKLaunchOptionsDirectionsModeDriving,MKLaunchOptionsDirectionsModeKey, nil];MKMapItem *mapItem = [[MKMapItem alloc]initWithPlacemark:place];[mapItem openInMapsWithLaunchOptions:options];

这里解释一下:

怎么设置呢:用NSDictionary 类型的参数设置 ,

设定行车路线:

MKLaunchOptionsDirectionsModeDriving 有两个键值:

MKLaunchOptionsDirectionsModeDriving——驾车

MKLaunchOptionsDirectionsModeWalking——骑车

还有几种设定的key:

MKLaunchOptionsMapTypeKey:设定地图类型

MKLaunchOptionsShowsTrafficKey:设定交通情况

MKLaunchOptionsMapCenterKey:设定地图中心

MKLaunchOptionsMapSpanKey:设定地图跨度

看看效果

苹果地图上展示多个点

展示多个点,使用openMapsWithItems 方法实现:加载数组便可
    CLGeocoder *geocoder = [[CLGeocoder alloc] init];[geocoder geocodeAddressString:self.textTextField.text completionHandler:^(NSArray*placemarks, NSError *error) {NSLog(@"查询记录数:%i",(int)[placemarks count]);NSMutableArray* array = [NSMutableArray new];for (int i = 0; i < [placemarks count]; i++) {CLPlacemark* placemark = placemarks[i];CLLocationCoordinate2D coordinate = placemark.location.coordinate;NSDictionary* address = placemark.addressDictionary;MKPlacemark *place = [[MKPlacemark alloc]initWithCoordinate:coordinate addressDictionary:address];MKMapItem *mapItem = [[MKMapItem alloc]initWithPlacemark:place];[array addObject:mapItem];}//关闭键盘[self.textTextField resignFirstResponder];if ([array count] > 0) {[MKMapItem openMapsWithItems:array launchOptions:nil];}}];

看看效果

源代码:

https://git.oschina.net/zhengaoxing/No15.3appleMap/tree/master

IOS学习之——地图3 调用苹果地图相关推荐

  1. c语言api获取百度地图,H5调用百度地图API获取地理位置

    //获取当前位置 var geolocation = new BMap.Geolocation(); geolocation.getCurrentPosition(function(r){ alert ...

  2. 诺基亚地图——谷歌,苹果地图的挑战者

    2019独角兽企业重金招聘Python工程师标准>>> 运用了Navteq的专业地图技术,诺基亚在定位服务中将会与苹果.谷歌抗衡.圣地亚哥州立大学地理学教授Ming-Hsiang T ...

  3. 调用苹果地图、百度地图、高德地图导航(不需要集成sdk)

    最近在研究地图,所以就简单写了一个小 demo,给大家分享一下如何不集成SDK就能调用第三方地图app,这里只介绍苹果自带地图.百度地图和高德地图的调用!其中还简单介绍了app定位功能,希望能给初学的 ...

  4. iOS 国外地图开发 谷歌地图坐标放到苹果地图上坐标不准确

    首先请允许我发一个牢骚.苹果地图这个坑... 一 .我们要开发一个国外定点展示房屋信息的地图应用.效果图如下: . 二.第一反应用苹果原生地图Mapkit做.我们的坐标点都是从谷歌地图上取出来的. 功 ...

  5. Android 地图导航调用百度地图、高德地图、腾讯地图,腾讯T3团队整理

    前言 ============================================================= 为什么调用第三方呢?集成在App里面不行吗? 接入导航SDK,以百度为 ...

  6. Android 地图导航调用百度地图、高德地图、腾讯地图

    效果图 前言 为什么调用第三方呢?集成在App里面不行吗? 接入导航SDK,以百度为例,apk包体积能增加小几十兆之多,上一版本还是几兆的apk,迭代一版本直接几十兆了,落差之大,难以接受. 虽说当下 ...

  7. python 根据经纬度 调取和显示地图_Python调用高德地图API实现经纬度换算、地图可视化-站长资讯中心...

    目前地图可视化的工具和函数比较多,但是在不知道相关地点经纬度的情况下,通过python调用高德地图API实现经纬度换算,并且直接在高德地图新推出的轻量级可视化平台上实现一键式地图可视化,这其中需要申请 ...

  8. IOS 调用苹果地图

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

  9. 在ios6中调用苹果地图用于导航 (地图开发)

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

最新文章

  1. 递归和循环:跳台阶和变态跳台阶和矩形覆盖
  2. PacBio单分子长测序
  3. MySQL InnoDB锁机制全面解析分享
  4. java 协程_你真的了解kotlin的协程么?
  5. IBM:决胜量子计算五大战略!商用近在咫尺
  6. adb 最大连接_手机触屏失效的抢救办法,以及如何利用adb实现PC与手机交互
  7. 程序员常犯的5个非技术性错误
  8. python面向对象的概念_Python面向对象概念和三要素
  9. SQL 批量修改订单号
  10. 给妹子讲python-S01E05字符串的基本用法详解
  11. Android的系统架构
  12. 【语言处理与Python】9.2处理特征结构\9.3扩展基于特征的文法
  13. 感谢这几个公众号,已拿今日头条,蚂蚁金服Offer
  14. 毕设题目:Matlab手势识别
  15. 计算机逆向工程专业,计算机软件反向工程的合法性研究
  16. moments音标_moment是什么意思_moment的翻译_音标_读音_用法_例句_爱词霸在线词典...
  17. cdr软件百度百科_Cdr是什么软件
  18. 祝福大家新年快乐,身体健康,工作顺利,万事如意!
  19. Linux中磁盘扫描流程描述
  20. Stimulsoft Dashboards.JS JavaScript 2203.1.0仪表板

热门文章

  1. EBS应用打补丁的步骤
  2. 2T硬盘恢复数据要多久 2T硬盘数据恢复一般多少钱
  3. 计算机硬盘位显示none,电脑磁盘变成了空闲盘怎么办,特急?
  4. Python logging库
  5. VMware14 设置CentOS7的Nat网络(配图)
  6. 苹果光盘刻录实用技巧指南(转)
  7. 苹果的iMac G4
  8. 申请微信小游戏流量主提示 “填写的姓名或身份证与公众号主体信息不一致”
  9. 抖音加码地图服务 会改变本地生活领域格局吗?
  10. Vue技术—列表排序