导航笔记
地图导航所需的数据拿不到,交由苹果处理,在中国苹果交由高德地图处理。由于封装的比较好,我们本质上只需要一行代码:
MKMapItem openMapsWithItems: launchOptions:
根据所需传入的参数倒推即可。
所需正序步骤:
1.地理编码目的地位置
>>使用CLGeocoder进行地理编码,得到CLPlacemark
2.转换CLPlacemark --> MKPlacemark
MKPlacemark *mkPlacemark = [[MKPlacemark alloc] initWithPlacemark:placemark];
3.获取当前位置和目的地mapItem
//目的地的item
MKMapItem *mapItem = [[MKMapItem alloc] initWithPlacemark:mkPlacemark];
//当前位置的item
MKMapItem *currentmapItem = [MKMapItem mapItemForCurrentLocation];
4.开始导航
MKMapItem openMapsWithItems: launchOptions:
第一个参数传入目的地和当前位置的数组,第二个是选项的字典。如下:
/*
//keys
MKLaunchOptionsMapCenterKey:地图中心的坐标(NSValue)
MKLaunchOptionsMapSpanKey:地图显示的范围(NSValue)
MKLaunchOptionsShowsTrafficKey:是否显示交通信息(boolean NSNumber)
//MKLaunchOptionsDirectionsModeKey: 导航类型(NSString)
{
MKLaunchOptionsDirectionsModeDriving:驾车
MKLaunchOptionsDirectionsModeWalking:步行
}
//MKLaunchOptionsMapTypeKey:地图类型(NSNumber)
enum {
MKMapTypeStandard = 0,
MKMapTypeSatellite,
MKMapTypeHybrid
};
//MKLaunchOptionsCameraKey 3D地图效果
*/
网友评论