第三方地图调用
项目运行效果图如下:
IMG_7644 -w240 IMG_7645-w240
高德地图
首先判断是否安装了高德地图客户端,安装了调用高德地图客户端,反之调用高德WEB
端
CLLocationCoordinate2D corrds2 = _destionLocation.coordinate;
NSString * urlString = @"";
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"iosamap://"]]) {
urlString = [[NSString stringWithFormat:@"iosamap://viewMap?sourceApplication=%@&poiname=%@&lat=%f&lon=%f&dev=1",@"应用来源",_mapAddressTitle,corrds2.latitude,corrds2.longitude] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
} else {
urlString = [[NSString Schemes"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]];
百度地图
首先判断是否安装了百度地图客户端,安装了调用百度地图客户端,反之调用百度地图WEB
端
CLLocationCoordinate2D corrds2 = _destionLocation.coordinate;
NSString *urlString =@"";
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"baidumap://map"]]){
urlString = [[NSString stringWithFormat:@"baidumap://map/marker?location=%f,%f&title=%@&content=%@&src=%@",corrds2.latitude,corrds2.longitude,_mapAddressTitle,_destination,@"XXXX"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] ;
} else {
urlString = [[NSString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]];
腾讯地图
首先判断是否安装了腾讯地图客户端,安装了调用腾讯地图客户端,反之调用腾讯地图WEB
端
CLLocationCoordinate2D corrds2 = _destionLocation.coordinate;
NSString *urlString=@"";
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"qqmap://"]]) {
urlString = [[NSString stringWithFormat:@"qqmap://map/marker?marker=coord:%f,%f;title:%@;addr:%@&referer=%@",corrds2.latitude,corrds2.longitude,_mapAddressTitle,_destination,@"xxxx"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
} else {
urlString = [[NSString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
}
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]];
iPhone地图
打开iPhone
自带地图,代码如下:
//起点坐标
CLLocationCoordinate2D coords1 = [ZQTLocationTool sharedZQTLocationTool].currentLocation.coordinate;
MKMapItem *currentLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:coords1 addressDictionary:nil]];
currentLocation.name = @"当前位置";
//目的地的位置
CLLocationCoordinate2D coords2 = _destionLocation.coordinate;
MKMapItem *toLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:coords2 addressDictionary:nil]];
toLocation.name = _mapAddressTitle;
NSArray *items = [NSArray arrayWithObjects: toLocation, nil];
NSDictionary *options = @{
MKLaunchOptionsMapTypeKey: [NSNumber numberWithInteger:MKMapTypeStandard],
MKLaunchOptionsShowsTrafficKey:@YES
};
//打开苹果自身地图应用,并呈现特定的item
[MKMapItem openMapsWithItems:items launchOptions:options];