基本介绍

导航sdk同时提供了骑行与步行场景下的路线规划与导航功能。针对骑行与步行的特点,进行场景化算法优化,规划出更为合理、便捷的路线,提供更为清晰的语音播报与导航信息反馈。

要实现骑行、步行路径规划功能,以下两个类您需要了解:AMapNavi :此类是导航功能管理类,提供路线规划、行前选路、导航中重算等方法。它是一个单例,通过getInstance方法获取该单例,通过destroy方法来销毁该单例。

AMapNaviListener:此类是导航事件信息与数据协议类,提供算路导航过程中的事件(如:路径规划成功/失败、TTS字符串、GPS信号弱、到达目的地等)以及实时数据(如:诱导信息NaviInfo、定位信息、电子眼信息等)回调接口。

说明注意:路径规划功能需要联网使用。

起终点信息可通过多种方式获取,如:使用坐标拾取器查询您需要的点的坐标;还可以通过搜索 SDK 中的 POI  搜索查询兴趣点,作为起终点。

骑步行算路同样支持单路径规划与多路径规划,可以通过骑步行的POI算路接口来指定 TravelStrategy 枚举。

策略枚举数值策略描述

TravelStrategy#SINGLE1000骑步行单路径规划

TravelStrategy#MULTIPLE1001骑步行多路径规划(并非所有路线均支持多路径规划)

1. 经纬度算路

传入起、终点的经纬度信息来规划路线。

骑行算路示例代码:

// 起点信息

NaviLatLng start = new NaviLatLng(39.993308, 116.473199);

// 终点信息

NaviLatLng end = new NaviLatLng(39.917834, 116.397036);

// 经纬度算路

AMapNavi.getInstance(this).calculateRideRoute(start, end);

步行算路示例代码:

// 起点信息

NaviLatLng start = new NaviLatLng(39.993308, 116.473199);

// 终点信息

NaviLatLng end = new NaviLatLng(39.917834, 116.397036);

// 经纬度算路

AMapNavi.getInstance(this).calculateWalkRoute(start, end);

2. POI算路

传入起、终点的POI信息来规划骑、步行路线。

2.1 单路径规划

示例代码:

// 构造起点POI

NaviPoi start = new NaviPoi("故宫博物馆", null, "B000A8UIN8");

// 构造终点POI

NaviPoi end = new NaviPoi("北京大学", null, "B000A816R6");

// 进行骑行算路

AMapNavi.getInstance(this).calculateRideRoute(start, end, TravelStrategy.SINGLE);

2.2 多路径规划

示例代码:

// 构造起点POI

NaviPoi start = new NaviPoi("故宫博物馆", null, "B000A8UIN8");

// 构造终点POI

NaviPoi end = new NaviPoi("北京大学", null, "B000A816R6");

// 进行步行算路

AMapNavi.getInstance(this).calculateWalkRoute(start, end, TravelStrategy.MULTIPLE);

3. 处理结果

当路线规划成功后,会触发 AMapNaviListener 的 onCalculateRouteSuccess 回调,在该回调函数中,你可以获取路线对象,进行规划路线的显示:

@Override

public void onCalculateRouteSuccess(AMapCalcRouteResult routeResult) {

// 获取路线数据对象

HashMap naviPaths = AMapNavi.getInstance(this).getNaviPaths();

// 绘制显示路径

...

}

也可以直接开启骑、步行导航:

@Override

public void onCalculateRouteSuccess(AMapCalcRouteResult routeResult) {

// 开启导航

AMapNavi.getInstance(this).startNavi(NaviType.GPS);

}

如果路线规划失败,则会触发 AMapNaviListener 的 onCalculateRouteFailure 回调,可以在此回调中来执行相应处理逻辑。

java骑车与走路_骑行/步行路线规划相关推荐

  1. Android studio百度地图SDK开发 2020最新超详细的Android 百度地图开发讲解(3) 路线规划步行骑行驾车路线规划

    2020最新超详细的Android 百度地图开发讲解(3) 路线规划步行骑行驾车路线规划 开发前配置,显示基本地图,实时定位等查看之前代码,此博客紧接上一博客:https://blog.csdn.ne ...

  2. java的碳刀_骑行圈的十万个为什么—碳刀简述1

    坊间有传,富玩轮.穷玩架.2B玩套件,可见两个轮子的江湖地位. 时代在发展,铝合金被碳纤维的代替是迟早的事儿,不要被情怀买单,否则只能跟着情怀进博物馆.想想那些千万级别的跑车,不都以碳钎维覆盖率标榜自 ...

  3. Python数据清洗:strava运动跑步和骑行路径路线经纬度散点序列数据

    在这这个链接中(https://download.csdn.net/download/zhangphil/13614362),离线下载数据文件,这是strava一个在线的运动跑步和骑行路径路线经纬度散 ...

  4. android 步行距离,Android 高德地图 步行 路线规划

    路线规划就是给RouteSearch设置一个监听,里面有步行规划,骑车,驾车,公交等线路的规划 第 1 步,初始化 RouteSearch 对象 routeSearch = new RouteSear ...

  5. Android 高德地图 步行 路线规划

    路线规划就是给RouteSearch设置一个监听,里面有步行规划,骑车,驾车,公交等线路的规划 第 1 步,初始化 RouteSearch 对象 routeSearch = new RouteSear ...

  6. java tt自行车_骑行圈的知识科普:“大组车”和“TT”车的区别

    原标题:骑行圈的知识科普:"大组车"和"TT"车的区别 昨天,小编讲了50年前的环法比赛和现在的区别 忽然发现骑行圈已经变得越来越科技化 各种性能优良的自行车, ...

  7. alpinestars与丹尼斯_骑行靴|丹尼斯VS A星心得分享,它和普通鞋子不同之处竟在这里!...

    『千本御的机车梦想』之骑行靴分享 今天和摩友们聊下我爱穿的两款骑行靴使用心得. 下面主要讲的是丹尼斯(Dainese)和A星(alpinestars)SMX-6这两款骑行靴,SMX出第一代的时候我就已 ...

  8. java公路车组装教程_骑行入门:怎样组装一辆自行车——零部件的准备

    上一篇讲到了组车的预算及需求,这次就来继续讲你需要准备的零部件还有之后要做的事情吧~ 首先需要准备的零件有: (1)变速及传动系统:之前其实也介绍过Campagnolo.Sram 与 Shimano ...

  9. java 不显示控制台_命令行启动java程序不显示控制台窗口

    关键:start javaw –jar xxx.jar 一个例子: ============================================= @ECHO OFF REM " ...

最新文章

  1. mysql和java区别_java和mysql的length()区别及char_length()
  2. javascript使用缓存计算来提高应用程序性能
  3. 数字人民币解密:数字人民币的系统架构、产品形态是什么样的?
  4. ABAP OO小例子
  5. python新闻爬虫教程_python简易爬虫教程--(一)批量获取搜狐新闻
  6. @transactional注解_为啥同一个类中普通方法调用Spring注解方法,注解会失效?看完你就明白,So easy!...
  7. 如何解决Maven依赖本地仓库eclipse报错的问题
  8. c++组合 聚合 关联
  9. 算法总结之 一行代码求两个数的最大公约数
  10. log4net进阶手札(四):保存自定义对象到oracle
  11. 9.使用 curses 函数库来管理基于文本的屏幕
  12. Windows安装RabbitMQ集群的几个注意点
  13. anaconda各个版本下载资源
  14. SELinux用audio2allow生成添加权限的格式及neverallow解决方法
  15. mysql 三星索引_三星索引系统
  16. 【目标检测】57、Dual Weighting Label Assignment | 专为目标检测设计的双权重标签分配
  17. oracle建索引时报ora00955 名称已由现有对象使用,“ORA-00955: 名称已由现有对象使用” 这个错误是怎么回事?...
  18. 基于C语言设计的一个医院叫号系统
  19. 单片机多功能电子琴课设_基于单片机的简易电子琴课程设计.doc
  20. 菜鸟最爱,60行代码打造一款音乐播放器!

热门文章

  1. 用计算机弹下课铃声,智能广播打铃系统(校园广播上下课铃声)V7.2.1 免费版
  2. NPN三极管放大原理
  3. 编译原理词法分析中的有限自动机
  4. java(jsp技术)
  5. Java代码实现非对称加密RSA算法示例
  6. PCIe PTM(Precision Time Measurement)介绍
  7. ASP.NET程序设计教程(C#版)——学习心得
  8. SetTexture()
  9. 计算机量子化学计算焓变,物理化学实验
  10. 影响中国软件开发的20人-- 开国元勋篇