/**

* 设置路线数据。

*

* @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. 邮件服务器SMTP概述
  2. 祝福互动html页面,祝福.html
  3. java接口详解+练习题
  4. conda创建子环境并注册kernel
  5. 洛谷 P3455BZOJ1101 【[POI2007]ZAP-Queries】
  6. Git学习笔记:分支管理(1)
  7. oracle12 pl/sql
  8. windows下boost库的基本使用方法
  9. 原生Android 侧滑菜单实践(部分)
  10. Java学习笔记2.1.3 Java基本语法 - Java关键字与标识符
  11. B - 简单暴力(计算今年第几天)
  12. OpenGL与gl glu glut freeglut glew glfw封装库关系(十五)
  13. sql去某几个字段重复的记录
  14. 基于51单片机交通灯程序设计与仿真
  15. 应用于兴发铝业的PARTsolutions ‒智能化的铝型材数据检索与借用
  16. 敏捷开发快速入门(四):Scrum开发流程
  17. MATLAB与STK互联39:动画控制、地面两个点的大圆距离计算
  18. Allegro PCB多层板中负片热风焊盘的制作以及flash的添加
  19. 电脑声卡维修经验和实例完全分析
  20. UNISON文件同步

热门文章

  1. kindeditor php教程,kindeditor使用及配置
  2. 敏捷开发之产品需求模板
  3. 云计算,CDN与光速极限
  4. 自然对数e和圆周率pai
  5. Win10服务器离线安装NET3.5组件,保姆级教程
  6. 计算机软件技术基础课后论文,认知案例教学法在“计算机软件技术基础”课程中的探讨与应用_优秀论文...
  7. 软件工程 第0次个人作业
  8. 地下水(Groundwater)工具的使用
  9. Native App 不再首选
  10. 搭建Android开发环境(以Windows系统为例)