//手机自带地图
//当前位置
MKMapItem *mylocation = [MKMapItemmapItemForCurrentLocation];
//前面填写纬度
CLLocationCoordinate2D coords2 =CLLocationCoordinate2DMake(cell.model.coordinate.latitude, cell.model.coordinate.longitude);
//目的地的位置
MKMapItem *toLocation = [[MKMapItemalloc] initWithPlacemark:[[MKPlacemarkalloc] initWithCoordinate:coords2addressDictionary:nil]];
toLocation.name =cell.model.title;
NSArray *items = [NSArrayarrayWithObjects:mylocation, toLocation,nil];
NSDictionary *options =@{ MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,MKLaunchOptionsMapTypeKey: [NSNumbernumberWithInteger:MKMapTypeStandard],MKLaunchOptionsShowsTrafficKey:@YES};
//打开苹果自身地图应用,并呈现特定的item
[MKMapItemopenMapsWithItems:items launchOptions:options];
//百度地图
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"baidumap://"]]) {//判断是否安装了百度地图APPNSString *urlString = [[NSString stringWithFormat:@"baidumap://map/marker?location=%f,%f&title=%@&content=%@&src=webapp.marker.yourCompanyName.yourAppName",cell.model.coordinate.latitude,cell.model.coordinate.longitude,cell.stroeNameLab.text,cell.stroeAddressLab.text] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlString]];
}else{}
//高德地图
NSString *urlString = [[NSStringstringWithFormat:@"iosamap://navi?sourceApplication=%@&backScheme=%@&lat=%f&lon=%f&dev=0&style=2",cell.model.title,@"baidumap",cell.model.coordinate.latitude, cell.model.coordinate.longitude]stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:urlString]];
本文介绍如何利用iOS原生地图API实现当前定位,并通过不同地图应用(如苹果地图、百度地图及高德地图)展示指定位置的方法。文章详细解释了如何创建位置对象、设置目的地坐标,以及如何开启内置地图应用进行导航。
2596

被折叠的 条评论
为什么被折叠?



