博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Android】3.13 路径规划功能
阅读量:6993 次
发布时间:2019-06-27

本文共 18449 字,大约阅读时间需要 61 分钟。

分类:C#、Android、VS2015、百度地图应用; 创建日期:2016-02-04

一、简介

线路规划支持以下功能:

  • 公交信息查询:可对公交详细信息进行查询;
  • 公交换乘查询:根据起、终点,查询策略,进行线路规划方案;
  • 驾车线路规划:提供不同策略,规划驾车路线;(支持设置途经点)
  • 步行路径检索:支持步行路径的规划。

其中驾车线路规划自v3.4.0版本起支持多线路检索结果的能力。

二、运行截图

简介:介绍公交、驾车和步行三种线路规划方法和自设路线方法。

详述:

(1)驾车查询新增路径点查询功能,具体使用方法详见开发者指南路径规划部分,只需重载接口;

(2)自设路线功能演示开发者如何自己设定一条路线,包括如何设定起点、终点、途径站点和路段;

(3)自设路线功能同时也介绍如何在两个Activity之间切换的时候管理Mapview的生命周期;

(4)可自定义路线的起终点图标;

本示例运行截图如下:

三、设计步骤

1、添加自定义类【代码太多,就不再粘贴在这里了】

本示例用到的文件很多,主要涉及的是自定义覆盖物的相关类,这些文件都在SrcOverlayUtil文件夹下,除了上一节列出的OverlayManager.cs文件和PoiOverlay.cs外,还包括下面的文件。

(1)BikingRouteOverlay.cs文件

用于显示骑行路线的Overlay,自3.4.0版本起可实例化多个添加在地图中显示。

(2)BusLineOverlay.cs文件

用于显示一条公交详情结果的Overlay。

(3)DrivingRouteOverlay.cs文件

用于显示一条驾车路线的overlay,自3.4.0版本起可实例化多个添加在地图中显示,当数据中包含路况数据时,则默认使用路况纹理分段绘制。

(4)TransitRouteOverlay.cs文件

用于显示换乘路线的Overlay,自3.4.0版本起可实例化多个添加在地图中显示。

(5)WalkingRouteOverlay.cs文件

用于显示步行路线的overlay,自3.4.0版本起可实例化多个添加在地图中显示。

2、添加demo13_routeplan.xml文件

在layout文件夹下添加该文件,然后将代码改为下面的内容:

3、添加Demo13RoutePlan.cs文件

在SrcSdkDemos文件夹下添加该文件,然后将代码改为下面的内容:

using Android.App;using Android.Content.PM;using Android.OS;using Android.Views;using Android.Widget;using Com.Baidu.Mapapi.Map;using Com.Baidu.Mapapi.Model;using Com.Baidu.Mapapi.Search.Core;using Com.Baidu.Mapapi.Search.Route;using BdMapV371Demos.SrcOverlayUtil;namespace BdMapV371Demos.SrcSdkDemos{    ///     ///此demo用来展示如何进行驾车、步行、公交路线搜索并在地图使用RouteOverlay、TransitOverlay绘制,    ///同时展示如何进行节点浏览并弹出泡泡。    ///     [Activity(Label = "@string/demo_name_route",        ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.KeyboardHidden,        ScreenOrientation = ScreenOrientation.Sensor)]    public class Demo13RoutePlan : Activity    {        //浏览路线节点相关        Button btnPre = null;//上一个节点        Button btnNext = null;//下一个节点        int nodeIndex = -2;//节点索引,供浏览节点时使用        RouteLine route = null;        OverlayManager routeOverlay = null;        bool useDefaultIcon = false;        private TextView popupText = null;//泡泡view        //地图相关,使用MyRouteMapView目的是重写touch事件实现泡泡处理。        //如果不处理touch事件,则无需继承,直接使用TextureMapView即可。        TextureMapView mMapView = null;   // 地图View        BaiduMap mBaidumap = null;        //搜索相关        RoutePlanSearch mSearch = null;    // 搜索模块,也可去掉地图模块独立使用        protected override void OnCreate(Bundle savedInstanceState)        {            base.OnCreate(savedInstanceState);            SetContentView(Resource.Layout.demo13_routeplan);            //初始化地图            mMapView = FindViewById
(Resource.Id.map); mBaidumap = mMapView.Map; btnPre = FindViewById

4、修改MainActivity.cs

在MainActivity.cs文件的demos字段定义中,去掉【示例13】下面的注释。

运行观察结果。

转载于:https://www.cnblogs.com/rainmj/p/5181595.html

你可能感兴趣的文章
prometheus监控示例
查看>>
细菌的繁殖
查看>>
Windows Server 2008远程连接人数限制修改及修改端口
查看>>
第70天:jQuery基本选择器(一)
查看>>
目前微信 微博 新浪 豆瓣等所有分享的js插件
查看>>
源码包安装
查看>>
处理:“ORA-28002: the password will expire within 7 days”的问题
查看>>
How to: Fix a network printer suddenly showing as offline in Windows Vista, 7 or 8 « Robin's Blog
查看>>
读书笔记—CLR via C#章节4-7
查看>>
Python的__init__, __new__魔法方法以及在__metaclass__元类中的使用
查看>>
nodejs 搞定 阿里云短信API 后面有适用于小白的解决方案
查看>>
7.11 批量创建房间
查看>>
android camera
查看>>
bzoj 2259 [Oibh]新型计算机 ——最短路(建图)
查看>>
洛谷2575高手过招
查看>>
自己动手实现线性映射,哈希映射
查看>>
依然莫名其妙的内容查询Web部件(Content Query Web Part)
查看>>
删除专家账号,要注意删干净
查看>>
抗投诉空间
查看>>
python代码 构建验证码
查看>>