美文网首页
iOS9下uri打开百度、高德、苹果地图

iOS9下uri打开百度、高德、苹果地图

作者: 辣条 | 来源:发表于2015-10-13 17:17 被阅读6501次

iOS9以前的可以通过

[[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:@"baidumap://map/"]]

[[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:@"iosamap://"]]

可以判读是否安装的百度地图与高德地图。而后通过

//打开百度地图导航

- (void)openBaiDuMap{

NSString *urlString = [[NSString stringWithFormat:@"baidumap://map/direction?origin=latlng:%f,%f|name:我的位置&destination=latlng:%f,%f|name:终点&mode=driving",currentLatitude, currentLongitude,_shopLat,_shopLon] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] ;

[[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]];

}

//打开高德地图导航

- (void)openGaoDeMap{

NSString *urlString = [[NSString stringWithFormat:@"iosamap://navi?sourceApplication=%@&backScheme=%@&poiname=%@&lat=%f&lon=%f&dev=1&style=2",@"app name", @"YGche", @"终点", _shopLat, _shopLon] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

[[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlString]];

}

//打开苹果自带地图导航

- (void)openAppleMap{

//起点

CLLocationCoordinate2D coords1 = CLLocationCoordinate2DMake(currentLatitude,currentLongitude);

MKMapItem *currentLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:coords1 addressDictionary:nil]];

//目的地的位置

CLLocationCoordinate2D coords2 = CLLocationCoordinate2DMake(_shopLat,_shopLon);

MKMapItem *toLocation = [[MKMapItem alloc] initWithPlacemark:[[MKPlacemark alloc] initWithCoordinate:coords2 addressDictionary:nil]];

toLocation.name =address;

NSArray *items = [NSArray arrayWithObjects:currentLocation, toLocation, nil];

NSDictionary *options = @{ MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving, MKLaunchOptionsMapTypeKey: [NSNumber numberWithInteger:MKMapTypeStandard], MKLaunchOptionsShowsTrafficKey:@YES };

//打开苹果自身地图应用,并呈现特定的item

[MKMapItem openMapsWithItems:items launchOptions:options];

}

在更新iOS9后原来的方法不起做用了。解决办法:

在info.plist添加白名单

<key>LSApplicationQueriesSchemes</key>

<array>

     <string>baidumap</string>

     <string>iosamap</string>

</array>

相关文章

  • IOS 调用地图

    App中如何打开百度或者高德地图 百度地图URI API地址高德地图URI API地址腾讯地图URI API地址 ...

  • iOS9下uri打开百度、高德、苹果地图

    iOS9以前的可以通过 [[UIApplication sharedApplication]canOpenURL:...

  • ios 地图跳转

    //打开地图的优先级顺序:百度地图->高德地图->苹果地图 if([[UIApplicationsharedApp...

  • 调用第三方app导航

    NSArray * allMapCategory = @[@"百度地图", @"高德地图",@"苹果地图"]; N...

  • iOS地图导航功能实现

    最简单快捷的方法使用高德地图uri,高德地图uri的具体使用可在高德地图官方网站看,使用非常简单 简单贴下部分代码...

  • Android 调用外部导航(百度、高德、网页)

    判断手机是否安装了百度地图APP或者高德地图APP 如果安装了百度地图,打开百度地图app进行导航 打开高德地图A...

  • 一起玩地图

    地图的分类: 百度地图 腾讯地图 高德地图 苹果本身 http://developer.baidu.com...

  • 百度地图

    IOS第三方地图 百度地图高德地图腾讯地图苹果自带地图谷歌地图(中国屏蔽了) 接下来我们说一下百度地图百度地图SD...

  • IOS第三方地图

    百度地图高德地图腾讯地图苹果自带地图谷歌地图(中国屏蔽了) 接下来我们说一下百度地图 百度地图SDK继为广大开发者...

  • iOS App内部调起百度地图、高德地图、腾讯地图

    公司App集成的是百度地图,然后调起百度地图、高德地图、腾讯地图、苹果地图进行导航的功能. 一.首先需要在info...

网友评论

      本文标题:iOS9下uri打开百度、高德、苹果地图

      本文链接:https://www.haomeiwen.com/subject/skuocttx.html