调用苹果地图导航
调用苹果自带地图导航的相关类叫 MapItem,导航的英文不叫Navigation而是叫Direction,相关官方文档为Asking the Maps App to Display Directions
MapItem
调用方法
MapItem一共有两个方法
方法名 | 作用 |
---|---|
+ openMapsWithItems:launchOptions: | 跳转到自带地图并且打开一组Item |
- openInMapsWithLaunchOptions: | 跳转到自带地图,打开这个Item |
Options
可以看到两个方法都提到了Options,具体的Options包括以下
| Option | 取值 | 可选项 |
| :————- | :————- |
| MKLaunchOptionsDirectionsModeKey | 导航方式,有四个选项,比如步行还是开车官方文档 | MKLaunchOptionsDirectionsModeDriving,MKLaunchOptionsDirectionsModeWalking,MKLaunchOptionsDirectionsModeTransit,MKLaunchOptionsDirectionsModeDefault |
| MKLaunchOptionsMapTypeKey | 地图模式,采用NSNumber | 对应MKMapType的枚举 |
| MKLaunchOptionsMapCenterKey | NSValue | 把Coordinate编码成NSValue |
| MKLaunchOptionsMapSpanKey | NSValue | MKCoordinateSpan编码成NSValue |
| MKLaunchOptionsShowsTrafficKey | 交通状况,BOOL值 | 0 1 |
| MKLaunchOptionsCameraKey | 一个Object | MKMapCamera的实例 |
placeMark
是MapItem的一个对象,包含了基本信息例如电话、URL等等,用于实例化MapItem,本身可以通过 initWithCoordinate: 实例化
实例化方法
实例化 | 备注 |
---|---|
+ mapItemForCurrentLocation | 返回当前设备的MapItem,是一个单例 |
- initWithPlacemark: | 通过PlaceMark进行实例化 |
示例代码
从当前位置导航到某个目的地
1 | CLLocationCoordinate2D drone = _mapKit.drone.coordinate; |