/**

* 设置路线数据。

*

* @param line 路线数据

*/

public void setData(TransitRouteLine line) {

mRouteLine = line;

}

@Override

public final List getOverlayOptions() {

if (mRouteLine == null) {

return null;

}

List overlayOptionses = new ArrayList();

// step node

if (mRouteLine.getAllStep() != null

&& mRouteLine.getAllStep().size() > 0) {

for (TransitRouteLine.TransitStep step : mRouteLine.getAllStep()) {

Bundle b = new Bundle();

b.putInt("index", mRouteLine.getAllStep().indexOf(step));

if (step.getEntrance() != null) {

overlayOptionses

.add((new MarkerOptions()).position(step.getEntrance().getLocation())

.anchor(0.5f, 0.5f).zIndex(10).extraInfo(b)

.icon(getIconForStep(step)));

}

// 最后路段绘制出口点

if (mRouteLine.getAllStep().indexOf(step) == (mRouteLine

.getAllStep().size() - 1)

&& step.getExit() != null) {

overlayOptionses

.add((new MarkerOptions()).position(step.getExit().getLocation())

.anchor(0.5f, 0.5f).zIndex(10).icon(getIconForStep(step)));

}

}

}

if (mRouteLine.getStarting() != null) {

overlayOptionses

.add((new MarkerOptions()).position(mRouteLine.getStarting().getLocation())

.icon(getStartMarker() != null ? getStartMarker()

: BitmapDescriptorFactory.fromAssetWithDpi("Icon_start.png"))

.zIndex(10));

}

if (mRouteLine.getTerminal() != null) {

overlayOptionses

.add((new MarkerOptions())

.position(mRouteLine.getTerminal().getLocation())

.icon(getTerminalMarker() != null ? getTerminalMarker() :

BitmapDescriptorFactory

.fromAssetWithDpi("Icon_end.png"))

.zIndex(10));

}

// polyline

if (mRouteLine.getAllStep() != null

&& mRouteLine.getAllStep().size() > 0) {

ArrayList textureIndexs = new ArrayList();

List points = new ArrayList();

for (TransitRouteLine.TransitStep step : mRouteLine.getAllStep()) {

if (step.getWayPoints() == null) {

continue;

}

for (int i = 0; i < step.getWayPoints().size(); ++i) {

if (step.getStepType()

!= TransitRouteLine.TransitStep.TransitRouteStepType.WAKLING) {

textureIndexs.add(0);

} else {

textureIndexs.add(1);

}

}

points.addAll(step.getWayPoints());

}

overlayOptionses.add(new PolylineOptions().points(points).width(15).dottedLine(true)

.customTextureList(getCustomTextureList()).textureIndex(textureIndexs)

.zIndex(0));

}

return overlayOtionses;

}

public List getCustomTextureList() {

ArrayList list = new ArrayList();

list.add(BitmapDescriptorFactory.fromAsset("Icon_road_blue_arrow.png"));

list.add(BitmapDescriptorFactory.fromAsset("Icon_road_green_arrow.png"));

return list;

}

复制

深色

复制成功

java百度地图路线规划,公交路线规划相关推荐

  1. 百度地图之搜索公交路线

    随时随地技术实战干货,获取项目源码.学习资料,请关注源代码社区公众号(ydmsq666) 百度SDK提供了查询公交路线的功能,并且可以浏览路线要经过的每一个站,百度Demo代码如下: Activity ...

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

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

  3. 借助百度地图api下载公交信息

    GIS中数据的获取非常重要,有好的想法却因为数据缺失不得不夭折非常可惜,由此也可以深刻理解数据是gis的血液. 参考菩提老王和酸奶小妹的博客,这两天实现了百度地图api下载南京市市区的的公交信息,相关 ...

  4. java百度地图路线规划_浅谈百度地图WEB开发中的四种路线规划

    百度地图在3.0的Javascript api中增加了四种路径规划,分别是:步行.骑行.自驾.公交. 关于路线规划的引用也相当简单,我们以步行为例://实例化地图 var map = new BMap ...

  5. 后端根据百度地图真实路径距离_百度地图开放平台介绍--路线规划

    百度地图开放平台路线规划服务是结合实时交通,为用户提供覆盖国内外的路线规划服务.路线规划也是我们用户最常用到的功能之一,比如旅行时需要到达另外一个地方,通过百度地图可以快速规划距离最短路线或耗时最短路 ...

  6. android studio百度地图教程,Android studio百度地图SDK开发 2020最新超详细的Android 百度地图开发讲解(4) 路线规划之起始点地址输入实现规划...

    实现起始点输入的路线规划 要实现输入起始点的路线规划,需要两个输入框,可以将两个输入框设置在和地图同一个Activity中,也可以新建一个Activity,来实现地址的输入,然后通过页面之间的跳转来传 ...

  7. Android百度地图开发定位和路线导航

    在写之前要先加入百度地图sdk的jar包从百度地图开发者官网上就能下载 百度地图sdk下载 官网(可翻墙选择):http://developer.android.com/sdk/index.html ...

  8. 百度地图SDK导航(路径规划+实时导航)

    百度地图导航的官网:http://developer.baidu.com/map/index.php?title=android-navsdk 里面的demo写的非常详细 ,我主要说一下我个人遇到的问 ...

  9. Android集成百度地图接口,实现定位+路径规划。新手教程

    本文主要内容包括:如何根据百度地图接口实现定位,并实现从A到B的路径规划功能(驾车,公交,步行).本文主要提供给新手参考,如果有错误希望博友们指出以便及时改正. 1.申请百度地图SDK的密钥(填写安全 ...

  10. android 百度地图 车辆监控,实现GPS一辆或多辆小车在百度地图上显示驾驶路线

    通过百度地图API实现一辆车或多辆车在地图上行驶,实现车辆监控,并显示驾驶路线.效果图如下: 本demo是通过ajax获取后台的经纬度,将经纬度传递给小车,小车不断移动,并调用百度地图API的画线函数 ...

最新文章

  1. Task01:青少年软件编程(Scratch)等级考试模拟卷(二级)
  2. CentOS上编译安装Nginx
  3. Python----面向对象---property的使用
  4. python多继承顺序_Python多继承以及MRO顺序的使用
  5. 一份.NET 容器化的调查小结
  6. JDK源码解析之 java.lang.Error
  7. 工业智能相机与基于PC的机器视觉的区别比较
  8. httpclient的post请求超时
  9. java中的无效的列类型_java.sql.SQLException: 无效的列类型: 1111
  10. Java队列Queue的使用
  11. MAC OS(U盘启动教程)
  12. project甘特图导出图片_Project2013教程-常见视图-甘特图
  13. 小程序canvas输出gif格式的图片作为表情
  14. 爬取链家任意城市租房数据(北京朝阳)
  15. 算法第二章上机实践报告
  16. python练手程序之猜大小
  17. C语言编程求解圆盘的汉诺塔,课内资源 - 基于80x86汇编的汉诺塔
  18. java核心技术卷I 第1-3章 笔记
  19. 10种常用的网络营销方法
  20. 全国车牌号所属地JSON(省及城市两级联动)

热门文章

  1. 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?【LeetCode Hot 100】
  2. 一看就懂的平面设计介绍
  3. 爱用计算机的我作文,我爱电脑编程作文
  4. (dp)CF102302E.Chi's performance
  5. getElementById、getElementsByTagName、getElementsByClassName复合使用浅析
  6. GraphSAGE模型实验记录(简洁版)【Cora、Citeseer、Pubmed】
  7. mbr(master boot record)主引导记录
  8. struts2action无法使用通配符解决办法
  9. DM数据库中dexp和dimp常见业务使用场景
  10. 望着药鼎内翻腾的火焰