Android 驾车出行路线规划

news2025/1/16 4:52:11

好久没有写了,今天又是加班的一天,先随便写点东西吧。

最近在搞一款自驾游的项目,需要用到地图,扒了点高德上的数据,便集成了高德地图SDK。之前的项目大部分都只是用了定位,其中有一款也用了地图poi的搜索,都没有接到高德要求收商业授权费。这次这个项目调用的接口将会很多,看会不会要求收商业授权费吧。

吐槽下高德地图的开发指南文档、Demo,版本大改动这些都不带更新的。得看参考手册。

路线规划不显示路况拥堵的问题,让我们Android开发走了很多弯路。我帮忙看了下,有几次都要放弃了,最后我还是攻克了。希望对刚接触高德地图的友友们有所帮助。

言归正传———

集成sdk:高德sdk更新日志
高德地图Android SDK(3D地图) V9.5.0             2022-10-14
高德地图Android SDK(搜索)  V9.5.0             2022-11-08

需求场景:

根据起终点规划出驾车出行路线,这就要应用到高德中的驾车出行路线规划的功能。

问题:

Demo给的方法是使用RouteSearch搜索规划路线,路线是有的,但是不显示道路拥堵情况。以下是AMap_Android_API_3DMap_Demo 驾车路径规划运行截图。

RouteSearch.FromAndTo fromAndTo = new RouteSearch.FromAndTo(startLatLon, latLonPoint);
// fromAndTo包含路径规划的起点和终点,drivingMode表示驾车模式 
// drivingMode表示路径规划的策略,可选,默认为0-速度优先;
// 第三个参数表示途经点(最多支持6个),第四个参数表示避让区域(最多支持32个),第五个参数表示避让道路 
DriveRouteQuery query = new DriveRouteQuery(fromAndTo, drivingMode, null, null, "");

//使用类 RouteSearch 的 calculateRideRouteAsyn(RideRouteQuery query) 
//方法进行骑行规划路径计算。
routeSearch.calculateDriveRouteAsyn(query)

//接收数据
public void onDriveRouteSearched(DriveRouteResult result, int rCode) {  
    final DrivePath drivePath = result.getPaths().get(0);//获取规划出的第一条路线方案。
    List<DriveStep> drivePaths = drivePath.getSteps();//返回驾车规划方案的路段列表。
    for (DriveStep step : drivePaths) {
        List<LatLonPoint> latlonPoints = step.getPolyline();//返回驾车路段的坐标点集合。
        List<TMC> tmclist = step.getTMCs();//获取搜索返回的路径规划交通拥堵信息。
        tmcs.addAll(tmclist);
    }
}  

此时使用类 RouteSearch进行出行规划路径计算,获取搜索返回的路径规划交通拥堵信息getTMCs()返回的是空的。

calculateRideRouteAsyn(RouteSearch.RideRouteQuery rideQuery)

此方法已过时。 自9.4.0废弃 RouteSearchV2.calculateRideRouteAsyn(com.amap.api.services.route.RouteSearchV2.RideRouteQuery)

解决:

那我们改用RouteSearchV2。此刻要注意了,很重要的一行代码,不加此代码,路线坐标都没有。

RouteSearchV2.FromAndTo fromAndTo = new RouteSearchV2.FromAndTo(startLatLon, latLonPoint);

RouteSearchV2.DriveRouteQuery query = new RouteSearchV2.DriveRouteQuery(fromAndTo, RouteSearchV2.DrivingStrategy.DEFAULT, null,
                null, "");
//不加此行代码,一些数据不会返回
query.setShowFields(RouteSearchV2.ShowFields.POLINE | RouteSearchV2.ShowFields.CITIES |
                RouteSearchV2.ShowFields.COST | RouteSearchV2.ShowFields.NAVI | RouteSearchV2.ShowFields.TMCS);

routeSearch.calculateDriveRouteAsyn(query);
RouteSearchV2.ShowFields 扩展字段
限定符和类型字段和说明
static intALL

设置后添加所有字段

static intCITIES

设置后可返回分段途径城市信息

static intCOST

设置后可返回方案所需时间及费用成本

static intNAVI

设置后可返回详细导航动作指令

static intPOLINE

设置后可返回分路段坐标点串,两点间用“,”分隔

static intTMCS

设置后可返回分段路况详情

 

 后续还好在地图上大作文章,还会遇到很多问题,将会持续更新下去。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/19063.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

js的promise的究竟是同步还是异步的问题和promise.all可以同时请求多个接口是错误的回答的原因

个人理解 前景-代码输出结果是什么 我们都知道,循环队列的时候,同步任务大于异步任务(异步任务里面的微任务又大于宏任务),那么你猜猜这个代码输出结果是 什么呢 <script>setTimeout(() > {console.log(1); }, 0);new Promise(function(resolve,reject){console.lo…

各省市ZF工作BG环境规制环境词汇词频分析(2009-2019年)

各省市ZF工作报告及环境词汇词频分析 1、时间&#xff1a;2009-2019年 2、说明&#xff1a;环保词频汇总分析&#xff1a;通过手工搜集整理出2009-2019年全国31个省ZF工作报告中环境规制相关的环保词汇及环保词频。 3、词汇包括&#xff1a; 环境保护、环保、污染、能耗、减…

NeurIPS 22|四分钟内就能训练目标检测器!( AGVM)

文章目录引言方法介绍实验过程结果分析引言 来自商汤的基模型团队和香港大学等机构的研究人员提出了一种大批量训练算法 AGVM&#xff0c;该研究已被NeurIPS 2022接收。 本文提出了一种大批量训练算法 AGVM (Adaptive Gradient Variance Modulator)&#xff0c;不仅可以适配于…

Shell脚本

文章目录Shell脚本学习1. Shell概念1.1Shell脚本的好处1.2 Shell脚本的入门1.2.1 Linux环境中默认Shell版本1.2.2 Shell脚本1.2.3 编写简单的hello,world 脚本1.2.4 Shell 脚本的多种执行方法1.2.4.1 第一种 bash 或 sh 加文件的路径1.2.4.2 第二种 文件的路径直接执行1.2.4.2.…

Day07--wxs的概念以及其基本的用法

一.概念 1.啥子是wxs呢&#xff1f; *****************************************************************************************************************************************************************************************************************************…

【附源码】Python计算机毕业设计特大城市地铁站卫生防疫系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

数字电路和模拟电路-10时序逻辑电路的分析和设计

前言&#xff1a;学习同步时序逻辑电路的分析、设计 一、同步时序逻辑电路的分析 1、时序逻辑电路的分析步骤 步骤一 逻辑图 同步or异步 计数器or状态机 一条总线同步&#xff0c;多条总线是异步 计数器无输入&#xff0c;状态机有输入 状态机还分摩尔型和米里型 步骤二 驱动…

力扣(LeetCode)17. 电话号码的字母组合(C++)

回溯 将 222——999 和字母对应起来&#xff0c;用字符串数组保存。 递归遍历 digitsdigitsdigits 每一个数字&#xff0c;每一个数字对应的字母&#xff0c;又可以递归遍历&#xff0c;和下一个数字的字母组成排列。当排列长度等于 digitsdigitsdigits 的长度&#xff0c;就…

详解MySQL非常重要的日志—bin log

前言 bin log想必大家多多少少都有听过&#xff0c;它是MySQL中一个非常重要的日志&#xff0c;所以各位架构师们&#xff0c;如果有不了解的&#xff0c;一定要好好学习了&#xff0c;因为它涉及到数据库层面的主从复制、高可用等设计。 bin log是什么&#xff1f; bin log…

【博客538】BGP优雅重启机制

bgp优雅重启机制 背景 以BGP为代表的路由协议&#xff0c;从设计之初&#xff0c;就关注路由表的正确性&#xff0c;因为这是确保整个网络系统正常工作的最基本要求。因此每个BGP路由器&#xff0c;总是会以最快的速度收敛到整个网络最新的状态上。当一个BGP peer的BGP连接断开…

一种PEG衍生物Azide-PEG-Biotin|N3-PEG-Biotin|叠氮-PEG-生物素|956748-40-6

1、名称 英文&#xff1a;N3-PEG-Biotin&#xff0c;Azide-PEG-Biotin 中文&#xff1a;叠氮-聚乙二醇-生物素 2、CAS编号&#xff1a;956748-40-6 3、所属分类&#xff1a; Azide PEG Biotin PEG 4、分子量&#xff1a;可定制 5、质量控制&#xff1a;95% 6、储存&…

[附源码]java毕业设计食堂线上点餐系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

玩转MySQL:命令大全~忘记了SQL该怎么写就回来看看~

引言 相信大家在编写SQL时一定有一个困扰&#xff0c;就是明明记得数据库中有个命令/函数&#xff0c;可以实现自己需要的功能&#xff0c;但偏偏不记得哪个命令该怎么写了&#xff0c;这时只能靠盲目的去百度&#xff0c;以此来寻找自己需要的命令。 时间是最厉害的武器&…

Anaconda3安装部署(二) 百篇文章学PyQT

本文章是百篇文章学PyQT的第二篇&#xff0c;本文讲述如何安装Anaconda3工具&#xff0c;Anaconda3 在安装过程中会遇到很多问题&#xff0c;博主在本篇文章中将遇到和踩过的坑总结出来&#xff0c;可以供大家参考&#xff0c;希望大家安装顺利。包括 安装、遇到问题的解决方案…

实战十八:通过ItemKNN算法实现基于协同过滤的商品推荐 代码+数据

项目概述: 推荐系统任务描述:通过用户的历史行为(比如浏览记录、购买记录等等)准确的预测出用户未来的行为;好的推荐系统不仅如此,而且能够拓展用户的视野,帮助他们发现可能感兴趣的却不容易发现的item;同时将埋没在长尾中的好商品推荐给可能感兴趣的用户。ItemKNN推荐…

【专栏】基础篇05| Redis 该怎么保证数据不丢失(下)

前言 上一小节我们讲了AOF是什么以及它是如何保证Redis的Crash Safe的&#xff0c;这一节我们再来看一看Redis的RDB和AOF有何不同&#xff0c;两者是怎么样的关系 RDB的工作模式 RDB全称Redis Database&#xff0c;我们也常叫做Redis的内存快照&#xff0c;它与AOF最大的不同在…

基于java+ssm幼儿园教学网站管理系统vue-计算机毕业设计

项目介绍 要想做好幼升小的衔接工作&#xff0c;首先我们要明确小学生相对于幼儿园来说的不同之处。在幼儿园阶段&#xff0c;我们更多的是让小朋友做游戏&#xff0c;培养他们的学习兴趣等。而进入小学后&#xff0c;课程种类增加了&#xff0c;阅读信息不再是简单的图片&…

PHP房屋租售信息管理系统可以用wamp、phpstudy运行定制开发mysql数据库BS模式

一、源码特点 PHP房屋租售信息管理系统 是一套完善的web设计系统&#xff0c;对理解php编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库系统主要采用B/S模式开发,开发环境为PHP APACHE&#xff0c;数据库为mysql5.0&#xff0c;使用php语言开发 PHP房屋租售信…

kubernetes组件再认知

背景 之前学习k8s的各组件还是感觉不深入, 只停留在名字解释上面。总是不能深入理解&#xff0c;例如应用部署后kuber-proxy会在master 和node上添加什么样的iptables规则、部署一个应用的完整流程( 手画各组件功能并介绍10分钟以上 )、schedule具体是怎么调度的、limit reque…

计算机视觉|针孔成像,相机内外参及相机标定,矫正的重要性

计算机视觉读书笔记|相机内外参及相机标定&#xff0c;矫正的重要性 这篇博客将介绍针孔成像&#xff0c;透镜&#xff08;弥补了针孔成像曝光不足成像速度慢的缺点&#xff0c;但引进了畸变&#xff0c;主要是径向畸变和切向畸变&#xff0c;径向畸变主要是离中心越远越弯曲&…