应用内跳转到百度地图和苹果地图
2015-05-07 14:28
288 查看
调用苹果自家地图
-(void)testAppleMap{
// CLLocationCoordinate2D coords1 = CLLocationCoordinate2DMake(30.691793,104.088264);
// CLLocationCoordinate2D coords2 = CLLocationCoordinate2DMake(30.691293,104.088264);
CLLocationCoordinate2D coords1 =
CLLocationCoordinate2DMake(39.915,116.404);
CLLocationCoordinate2D coords2 =
CLLocationCoordinate2DMake(40.001,116.404);
if (SYSTEM_VERSION_LESS_THAN(@"6.0")){
// ios6以下,调用google map {
NSString *urlString = [[NSString
alloc] initWithFormat:@"http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f&dirfl=d", coords1.latitude,coords1.longitude,coords2.latitude,coords2.longitude];
NSURL *aURL = [NSURL
URLWithString:urlString];
//打开网页google地图
[[UIApplication
sharedApplication] openURL:aURL];
}else//
直接调用ios自己带的apple map
{
//当前的位置 //
// MKMapItem *currentLocation = [MKMapItem mapItemForCurrentLocation];
//起点
MKMapItem *currentLocation = [[MKMapItem
alloc] initWithPlacemark:[[MKPlacemark
alloc] initWithCoordinate:coords1
addressDictionary:nil]];
//目的地的位置
MKMapItem *toLocation = [[MKMapItem
alloc] initWithPlacemark:[[MKPlacemark
alloc] initWithCoordinate:coords2
addressDictionary:nil]];
toLocation.name =
@"目的地";
NSArray *items = [NSArray
arrayWithObjects:currentLocation, toLocation,
nil];
NSDictionary *options =
@{ MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,
MKLaunchOptionsMapTypeKey: [NSNumber
numberWithInteger:MKMapTypeStandard],
MKLaunchOptionsShowsTrafficKey:@YES
}; //打开苹果自身地图应用,并呈现特定的item
[MKMapItem
openMapsWithItems:items launchOptions:options];
}
}
- (void)testBaidu:(NSString *)title{
BOOL hasBaiduMap =
NO;
BOOL hasGaodeMap =
NO;
if ([[UIApplication
sharedApplication]canOpenURL:[NSURL
URLWithString:@"baidumap://map/"]]){
hasBaiduMap = YES;
NSLog(@"yesbaidu");
}else
{
NSLog(@"nobaidu");
}
if ([[UIApplication
sharedApplication]canOpenURL:[NSURL
URLWithString:@"iosamap://"]]){
hasGaodeMap = YES;
}
NSString *url2 = [[NSString
stringWithFormat:@"baidumap://map/direction?origin=latlng:39.915,116.404|name:我的位置&destination=latlng:39.915,120.202|name:终点&mode=driving"]
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] ;
[[UIApplication
sharedApplication]openURL:[NSURL
URLWithString:url2]];
// if ([@"使用百度地图导航" isEqualToString:title])
// {
// NSString *urlString = [[NSString stringWithFormat:@"baidumap://map/direction?origin=latlng:%f,%f|name:我的位置&destination=latlng:%f,%f|name:终点&mode=driving",currentLat,
currentLon,_shopLat,_shopLon] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] ;
//
// [[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]];
// }
// else if ([@"使用高德地图导航" isEqualToString:title])
// {
// NSString *urlString = [[NSString stringWithFormat:@"iosamap://navi?sourceApplication=%@&backScheme=%@&poiname=%@&lat=%f&lon=%f&dev=1&style=2",@"app name", yourscheme, @"终点",
_shopLat, _shopLon] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
//
// [[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]];
// }
}
-(void)testAppleMap{
// CLLocationCoordinate2D coords1 = CLLocationCoordinate2DMake(30.691793,104.088264);
// CLLocationCoordinate2D coords2 = CLLocationCoordinate2DMake(30.691293,104.088264);
CLLocationCoordinate2D coords1 =
CLLocationCoordinate2DMake(39.915,116.404);
CLLocationCoordinate2D coords2 =
CLLocationCoordinate2DMake(40.001,116.404);
if (SYSTEM_VERSION_LESS_THAN(@"6.0")){
// ios6以下,调用google map {
NSString *urlString = [[NSString
alloc] initWithFormat:@"http://maps.google.com/maps?saddr=%f,%f&daddr=%f,%f&dirfl=d", coords1.latitude,coords1.longitude,coords2.latitude,coords2.longitude];
NSURL *aURL = [NSURL
URLWithString:urlString];
//打开网页google地图
[[UIApplication
sharedApplication] openURL:aURL];
}else//
直接调用ios自己带的apple map
{
//当前的位置 //
// MKMapItem *currentLocation = [MKMapItem mapItemForCurrentLocation];
//起点
MKMapItem *currentLocation = [[MKMapItem
alloc] initWithPlacemark:[[MKPlacemark
alloc] initWithCoordinate:coords1
addressDictionary:nil]];
//目的地的位置
MKMapItem *toLocation = [[MKMapItem
alloc] initWithPlacemark:[[MKPlacemark
alloc] initWithCoordinate:coords2
addressDictionary:nil]];
toLocation.name =
@"目的地";
NSArray *items = [NSArray
arrayWithObjects:currentLocation, toLocation,
nil];
NSDictionary *options =
@{ MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,
MKLaunchOptionsMapTypeKey: [NSNumber
numberWithInteger:MKMapTypeStandard],
MKLaunchOptionsShowsTrafficKey:@YES
}; //打开苹果自身地图应用,并呈现特定的item
[MKMapItem
openMapsWithItems:items launchOptions:options];
}
}
- (void)testBaidu:(NSString *)title{
BOOL hasBaiduMap =
NO;
BOOL hasGaodeMap =
NO;
if ([[UIApplication
sharedApplication]canOpenURL:[NSURL
URLWithString:@"baidumap://map/"]]){
hasBaiduMap = YES;
NSLog(@"yesbaidu");
}else
{
NSLog(@"nobaidu");
}
if ([[UIApplication
sharedApplication]canOpenURL:[NSURL
URLWithString:@"iosamap://"]]){
hasGaodeMap = YES;
}
NSString *url2 = [[NSString
stringWithFormat:@"baidumap://map/direction?origin=latlng:39.915,116.404|name:我的位置&destination=latlng:39.915,120.202|name:终点&mode=driving"]
stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] ;
[[UIApplication
sharedApplication]openURL:[NSURL
URLWithString:url2]];
// if ([@"使用百度地图导航" isEqualToString:title])
// {
// NSString *urlString = [[NSString stringWithFormat:@"baidumap://map/direction?origin=latlng:%f,%f|name:我的位置&destination=latlng:%f,%f|name:终点&mode=driving",currentLat,
currentLon,_shopLat,_shopLon] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] ;
//
// [[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]];
// }
// else if ([@"使用高德地图导航" isEqualToString:title])
// {
// NSString *urlString = [[NSString stringWithFormat:@"iosamap://navi?sourceApplication=%@&backScheme=%@&poiname=%@&lat=%f&lon=%f&dev=1&style=2",@"app name", yourscheme, @"终点",
_shopLat, _shopLon] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
//
// [[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]];
// }
}
相关文章推荐
- iOS 应用内跳转到百度地图、苹果地图、谷歌地图、高德地图等
- 安卓开发——Intent跳转地图应用(百度地图、高德地图)
- iOS两个app应用之间的互相跳转
- Android 从一个应用跳转到另外一个应用
- Android深入浅出系列之实例应用—手机页面之间的跳转
- iOS开发---在 iOS 应用中直接跳转到 AppStore 的方法
- OS开发拓展篇—应用之间的跳转和数据传
- iOS - 二维码扫描和应用跳转
- IOS6.0 应用内直接下载程序 不需跳转AppStore
- php的百度地图应用marker及点击事件,searchInfoWindow
- Android中的Intent标准跳转应用
- Intent跳转到系统应用中的拨号界面、联系人界面、短信界面及其他
- IOS 应用跳转 (IOS9白名单)
- 安卓Intent跳转到系统应用中的一些界面的方法 .
- 如何跳转对应的应用市场的app
- iOS开发中跳转到App Store的应用内
- 在UC浏览器打开链接唤醒app,假设没有安装该app,则跳转到appstore下载该应用
- Intent跳转到系统应用中的拨号界面、联系人界面、短信界面及其他