Android 驾车出行路线规划
好久没有写了,今天又是加班的一天,先随便写点东西吧。
最近在搞一款自驾游的项目,需要用到地图,扒了点高德上的数据,便集成了高德地图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 int
|
ALL
设置后添加所有字段 |
static int
|
CITIES
设置后可返回分段途径城市信息 |
static int
|
COST
设置后可返回方案所需时间及费用成本 |
static int
|
NAVI
设置后可返回详细导航动作指令 |
static int
|
POLINE
设置后可返回分路段坐标点串,两点间用“,”分隔 |
static int
|
TMCS
设置后可返回分段路况详情 |
后续还好在地图上大作文章,还会遇到很多问题,将会持续更新下去。
Android 驾车出行路线规划相关推荐
- 264.高德地图的使用---驾车出行路线规划(4)
驾车出行路线规划 驾车路径规划可以根据起终点和驾车路线的数据,使用 DrivingRouteOverlay 画出驾车路线图层,包括起终点和转弯点.另外也可以自定义起终点和驾车转弯点的图标. 第 1 步 ...
- python实现四种出行路线规划(公交、步行、驾车、骑行)
一.简介 路径规划中包括步行.公交.驾车.骑行等不同方式,今天借助高德地图web服务api,实现出行路线规划. 思路 根据地点获取经纬度 根据经纬度调用api获取路线 对路线数据进行处理,便于浏览 高 ...
- android 地图路线规划,未来行程路线规划-出行路线规划-开发指南-Android 地图SDK | 高德地图API...
自地图 SDK 搜索功能 6.9.0 版本起新增未来行程路线规划,简称ETD. 未来出行规划(ETD)服务已覆盖全国所有城市,可提供未来7天的出行路线规划. 注意:下面介绍的功能使用的是地图SDK的搜 ...
- 货车进货路线问题java代码实现_货车出行路线规划-出行路线规划-开发指南-Android 地图SDK | 高德地图API...
从搜索功能6.1.0 版本开始支持货车出行路线规划功能,货车出行路线规划的具体策略可参见服务文档. 第 1 步,初始化 RouteSearch 对象 mRouteSearch = new RouteS ...
- java 高德地图路线规划_公交出行路线规划-出行路线规划-开发指南-Android 地图SDK | 高德地图API...
公交路径规划可以根据起终点和公交换乘的数据,使用 BusRouteOverlay 画出公交路线图层,包括起终点和换乘点.另外也可以自定义起终点和换乘点的图标. 目前支持跨城公交路线规划,提供不同城市之 ...
- android百度地图路线查询,Android百度地图——路线规划搜索
百度地图提供的路线规划搜索有3种:驾车.公交.步行. 3中方式的使用方法类似,步骤如下: 1.初始化地图 /**初始化百度地图 * */ private void initBaiduMap(){ // ...
- 关于Android高德地图路线规划的学习
其实一开始我是懵逼的 后来看了demo的源码才磕磕绊绊的做了出来. 线路规划属于Android地图SDK. 首先是流程,要有一个MainActivity主类,布局里面有MapView.点击规划路线的按 ...
- Android高德地图路线规划,自定义图层(overlay),所有点和线刚好显示在屏幕中心
高德百度地图SDK路线规划包含:步行,公交,驾车,骑车. 搜索的结果是经纬度点信息Latlng(lat,lng) 功能 在地图map中将所有的点连线,并让该线能刚好被当前的地图层级包含,并且当前路线所 ...
- java 高德地图路线规划_高德地图 web 页面里的出行路线规划
高德地图的引入,有两种方式,第一种在引入链接里直接添加 plugin 参数: 第二种是引入链接里不添加 plugin 参数,而是在在使用插件之前,使用AMap.service方法加载插件,然后在回调 ...
最新文章
- 2022年全球及中国建筑隔震系统行业设施布局与十四五应用决策建议报告
- LeetCode 208. 实现 Trie (前缀树) —— 提供一套前缀树模板
- Eclipse 不为人所知的另一面 - 企业管理软件领域 ABAP 编程语言开发利器
- java 线程 函数_java – 从后台线程调用主线程上的函数
- JZOJ 3461. 【NOIP2013模拟联考5】小麦亩产一千八(kela)
- pom报错如何解决(org.apache.maven.archiver.mavenarchiver.getmanifest)
- 回客科技 面试的 实现ioc 容器用到的技术,简述BeanFactory的实现原理,大搜车面试的 spring 怎么实现的依赖注入(DI)...
- android优化(json工具,message新建/传递,avtivity深入学习视频)
- HALCON:内存管理(Memory Management)
- android中LayoutInflater详解与使用
- 夜深人静写算法(六)- 最近公共祖先
- kws 命令词唤醒介绍
- 信息安全技术实验PGP邮件加密系统工具下载过程记录
- 腾讯云~安装MongoDB
- Chrome 浏览器安装Vue2、Vue3插件方法
- 字体大宝库:15款免费英文艺术字体下载
- 如何下载生物数据(四):SRA数据下载
- 【经验】谷歌翻译不能使用的解决方法
- 而重复,则创造了成功的人
- 智能合约:BUMO 合约编辑器用户手册
热门文章
- 减肥用smeal代餐有没有效?
- 人工智能学习笔记01——数据分析的介绍及环境安装
- 【ARMv8 编程】A64 数据处理指令——位域字节操作指令
- 第二部分 CSS部分
- WCMS 和 CCMS 傻傻分不清楚 —— CMS 家族大解密
- 设计微信公众号菜单栏的几点建议
- MyCat:开源分布式数据库中间件之数据库分片和读写分离配置
- python 摄像头录视频教程,OpenCV+python调用本地摄像头并录制视频
- 2021/07/05 基于dev,新建一个分支
- “\u0001”(十六进制值 0x01)是无效的字符