1.调用百度地图 baidumap

if ([[UIApplication sharedApplication]canOpenURL:[NSURL URLWithString:@"baidumap://map/"]]) {
            BMKPlanNode *start = [[BMKPlanNode alloc]init];
            start.name = handleHelper.address;
            start.pt = CLLocationCoordinate2DMake(weakSelf.locService.userLocation.location.coordinate.latitude, weakSelf.locService.userLocation.location.coordinate.longitude);
            BMKPlanNode *end = [[BMKPlanNode alloc]init];
            end.name = weakSelf.model.address;
            end.pt = CLLocationCoordinate2DMake([weakSelf.model.latitude doubleValue], [weakSelf.model.longitude doubleValue]);
            
            BMKOpenDrivingRouteOption *driveOpt = [[BMKOpenDrivingRouteOption alloc]init];
            driveOpt.appScheme = @"baidumapsdk://mapsdk.baidu.com";
            driveOpt.startPoint = start;
            driveOpt.endPoint = end;
            
            BMKOpenWalkingRouteOption *opt = [[BMKOpenWalkingRouteOption alloc]init];
            opt.appScheme = @"baidumapsdk://mapsdk.baidu.com";
            opt.startPoint = start;
            opt.endPoint = end;
            
            double distanceKM = [weakSelf distanceTwoPoint1:CLLocationCoordinate2DMake(handleHelper.latitude, handleHelper.longtitude)Point2:CLLocationCoordinate2DMake([_model.latitude doubleValue],[_model.longitude doubleValue])];
            if (distanceKM >= 3000.0) {
                [BMKOpenRoute openBaiduMapDrivingRoute:driveOpt];
            }
            else
            {
                [BMKOpenRoute openBaiduMapWalkingRoute:opt];
            }
        }
        else
        {
            [Tool MBProgressHUDWithTitle:@"没安装百度地图" OffsetY:kScreenWidth / 3 DelayTime:1.0f];
        }

注意:经纬度不能传错 ,longitude经度,latitude纬度;传错的话百度地图会提醒,服务异常请稍后重试.

2.调用高德地图 iosamap
(1)第一种方式:

AMapRouteConfig *config = [AMapRouteConfig new];
config.appName = [self getApplicationName];
config.appScheme = [self getApplicationScheme];
config.startCoordinate = AMapCoordinateConvert( CLLocationCoordinate2DMake(_locService.userLocation.location.coordinate.latitude, _locService.userLocation.location.coordinate.longitude), AMapCoordinateTypeBaidu);
config.destinationCoordinate = AMapCoordinateConvert(CLLocationCoordinate2DMake([_model.latitude doubleValue], [_model.longitude doubleValue]), AMapCoordinateTypeBaidu);  //百度sdk里边有百度坐标转高德坐标
config.routeType = AMapRouteSearchTypeWalking;
if (![AMapURLSearch openAMapRouteSearch:config]) {
[Tool MBProgressHUDWithTitle:@"没安装高德地图" OffsetY:kScreenWidth / 3 DelayTime:1.0f];
}
(2)第二种方式
// m 驾车:0:速度最快,1:费用最少,2:距离最短,3:不走高速,4:躲避拥堵,5:不走高速且避免收费,6:不走高速且躲避拥堵,7:躲避收费和拥堵,8:不走高速躲避收费和拥堵 公交:0:最快捷,2:最少换乘,3:最少步行,5:不乘地铁 ,7:只坐地铁 ,8:时间短 是  
// t = 0:驾车 =1:公交 =2:步行  
NSString *url = [[NSString stringWithFormat:@"iosamap://path?sourceApplication=applicationName&sid=BGVIS1&slat=%f&slon=%f&sname=%@&did=BGVIS2&dlat=%f&dlon=%f&dname=%@&dev=0&m=0&t=0",_locService.userLocation.location.coordinate.latitude, _locService.userLocation.location.coordinate.longitude, handleHelper.address, [_model.latitude doubleValue], [_model.longitude doubleValue],_model.address] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
if ([[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]])
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
}
else
{
[Tool MBProgressHUDWithTitle:@"没安装高德地图" OffsetY:kScreenWidth / 3 DelayTime:1.0f];
}
3.调用腾讯地图 qqmap
-(void)openQMap
{
    CLLocationCoordinate2D start = AMapCoordinateConvert(_locService.userLocation.location.coordinate, AMapCoordinateTypeBaidu);
    CLLocationCoordinate2D end = AMapCoordinateConvert(CLLocationCoordinate2DMake(self.coordinateY.floatValue, self.coordinateX.floatValue), AMapCoordinateTypeBaidu);
    NSString *url = [[NSString stringWithFormat:@"qqmap://map/routeplan?type=drive&from=%@&fromcoord=%f,%f&to=%@&tocoord=%f,%f&policy=0referer=Casing",self.startName,start.latitude,start.longitude,self.destinationName,end.latitude,end.longitude] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"qqmap://"]]) {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url] options:@{} completionHandler:nil];
    }
}
4.调用苹果地图
-(void)openAppleMap
{
    MKPlacemark *startMark = [[MKPlacemark alloc]initWithCoordinate:_locService.userLocation.location.coordinate];
    MKMapItem *startItem = [[MKMapItem alloc]initWithPlacemark:startMark];
    startItem.name = self.startName;
    MKPlacemark *endMark = [[MKPlacemark alloc]initWithCoordinate:CLLocationCoordinate2DMake(self.coordinateY.floatValue, self.coordinateX.floatValue)];
    MKMapItem *endItem = [[MKMapItem alloc]initWithPlacemark:endMark];
    endItem.name = self.destinationName;
    NSDictionary *options = @{MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving,MKLaunchOptionsMapTypeKey:[NSNumber numberWithInteger:MKMapTypeStandard],MKLaunchOptionsShowsTrafficKey:@YES};
[MKMapItem openMapsWithItems:@[startItem,endItem] launchOptions:options];
}

调用高德地图,百度地图,腾讯地图,苹果地图路线规划(无需集成SDK)相关推荐

  1. Flutter 调用地图软件(高德、百度、腾讯、苹果)同时实现另类国际化

    文章目录 Flutter 调用地图软件(高德.百度.腾讯.苹果) 一.说明 第 1 类:App 集成导航功能 第 2 类:跳转第三方地图软件 二.实现步骤 使用 1.添加插件: 2.iOS 配置 in ...

  2. Flutter 调用地图软件(高德、百度、腾讯、苹果)

    一.背景 flutter项目中有去调用其他第三方地图应用的关键字的路线搜索功能,故此做一个总结. 二.使用 1.添加插件: url_launcher: ^5.4.2 2.iOS 配置 info.pli ...

  3. android 高德地图设置不能旋转_地图经常导航错误,盘点高德、百度、腾讯、搜狗地图哪家强?...

    出门在外,经常去不熟路的情况下,什么手机导航最精准,或者哪个地图软件更好用?也经常出现导航错误,盘点看看哪家导航强. 很多新手或者老司机,开车都需要用到导航.但是根据车的配置,有些车没有自带导航功能, ...

  4. Flutter 实战调起三方地图导航(高德、百度、腾讯、苹果)

    实战工具类 地图导航 注意 地图Url 需要Uri.encodeFull(url)进行编码,要不然IOS无法调起 三方导航 为何使用encodeFull见 https://blog.csdn.net/ ...

  5. vue已知商家位置调用高德、百度和腾讯地图显示商家位置和导航(a标签href在url后拼接参数)

    需求和效果图如下,点击图片,根据坐标显示出商家的位置和名字,上面还有一排路线规划 点击图片后选择地图 高德地图效果图 百度地图 腾讯地图: 最开始看的高德,有vueamap文档,去高德官网配了key查 ...

  6. uniapp (IOS端安卓端)调用高德、百度、腾讯地图导航

    不仅适用于uniapp.vue以及微信小程序和普通手机h5应用都适用,亲测有效 直接上代码: // 点击某个地方,调起下面的方法// 方法要传入需要标注地点的纬度latitude,经度longitud ...

  7. Android仿微信调用第三方地图应用导航(高德、百度、腾讯)

    好久没有写Andorid代码啦!最近刚好要实现一个这个功能,顺便就在博客里分享一下. 实现目标 先来一张微信功能截图看看要做什么 其实就是有一个目的地,点击目的地的时候弹出可选择的应用进行导航. 大脑 ...

  8. Android仿高德地图app,Android仿微信调用第三方地图应用导航(高德、百度、腾讯)...

    好久没有写Andorid代码啦!最近刚好要实现一个这个功能,顺便就在博客里分享一下. 实现目标 先来一张微信功能截图看看要做什么 其实就是有一个目的地,点击目的地的时候弹出可选择的应用进行导航. 大脑 ...

  9. Android app唤醒第三方地图App进行导航(高德,百度,腾讯)

    根据项目需要 要添加导航功能 由于我的app 的内部已经做了地图和路线规划 同时为了使用用户的使用习惯 我选择了第三方导航 选择用户已有地图软件进行路线规划和导航 我选择的是目前的主流地图app平台 ...

最新文章

  1. ASP.NET中的事务处理和异常处理
  2. 自学使用sort他命令使用
  3. 每日一皮:完美解释 UDP 为什么会丢包...
  4. 主流深度学习框架对比(TensorFlow、Keras、MXNet、PyTorch)
  5. android shape 按钮背景_Android button, xml文件定义形状,代码中修改背景颜色
  6. 通过Swashbukle给DotNet Core Web API 增加自动文档功能
  7. dts数据库迁移工具_干货分享丨DM8 DTS工具使用小技巧
  8. spring整合logback
  9. python外星人入侵游戏图片_外星人入侵,使用python开发的2D游戏
  10. [词根词缀]dic/dign/divid/doc/dom由来及词源D故事
  11. 奥城大学计算机专业,2018年美国大学硕士双录取最全名单
  12. Monorepo 項目管理方案:lerna + yarn workspace / pnpm
  13. keil MDK 中使用虚拟串口调试串口
  14. jQuery 插件——免费版
  15. 使用树莓派来做打印服务器
  16. 一步一步制作最简单的动画
  17. cas113995-55-4/花菁染料1,1,2-三甲基-1H-苯并吲哚-7-磺酸
  18. 元宇宙 vs. 数字孪生:技术演化的视角
  19. 小米笔记本计算机在哪里,小米笔记本proX15怎么查看电脑损耗程度-在哪查看
  20. 不平衡篇(一)记录不平衡工具包imbalanced-learn的安装——小白入门

热门文章

  1. Linux服务配置 DNS服务器配置
  2. oracle 删除表数据 有外键约束,【Foreign Key】Oracle外键约束三种删除行为
  3. Nodejs的https或axios使用代理请求
  4. R语言rms包应用shiny和函数
  5. 安康公主是《贞观长歌》最大的亮点
  6. 同等学力不需要考试毕业没有学历证只有学位证_专业硕士有学历也有学位证---在职研究生001
  7. label标签的for属性要指向input的id属性一致
  8. html怎么使两张照片重叠,css怎么让图片覆盖图片?
  9. 关键词高亮:HTML字符串中匹配跨标签关键词
  10. nginx 发布前端资源的缓存方案