路径分析插件

路径分析就是在场景中设置一个起点和一个终点,在这之间进行驾车路径分析,在这途中还可添加一个或多个途经点。

路径分析有四种类型:最快路线、最短路线、避开高速和步行路线。可以根据需求有选择的进行使用。

1. 功能说明

路径分析插件主要功能就是,根据需求来确定行驶路线。具体功能可参考后续方法,其中有详细的介绍和使用。

2. 构造

在SDK中实例化路径分析插件,代码示例如下:

const routePlugin = new ubm.RoutePlugin()

3. 类型

3.1 点类型

点类型描述
start起点
end终点
pathway途经点

3.2 路径分析类型

路径分析类型描述
fastest最快
minimum耗时最少
avoid-highways高速
walk步行

4. 属性

属性类型可选说明
startMapPointIPoint | null---起点
endMapPointIPoint | null---终点
pathwayMapPointlist[]---途径点位置信息列表
distanceIPoint | null---行驶总路程
durationIPoint | null---行驶总时间
directionsList[]---行驶路线的步骤集合

4.1 起点

获取场景中的起点地图数据,代码示例如下:

const startMapPointData = routePlugin.model.startMapPoint()

4.2 终点

获取场景中的终点地图数据,代码示例如下:

const endMapPointData = routePlugin.model.endMapPoint()

4.3 途经点集合

获取场景中的途经点地图数据,代码示例如下:

const pathwayMapPointlistData = routePlugin.model.pathwayMapPointlist()

4.4 行驶总路程

获取场景中行驶的总路程,代码示例如下:

const distance = routePlugin.model.distance

4.5 行驶总时间

获取场景中行驶途中花费的时间,代码示例如下:

const duration = routePlugin.model.duration

4.6 行驶路线

获取场景中的行驶路线步骤集合,代码示例如下:

const directionsList = routePlugin.model.directionsList

5. 方法

方法说明
startTowPointClickEvent()开启场景点击获取场景点位置(起始点 结束点连点模式)
startOnePointClickEvent()开启场景点击获取场景点位置(起始点 结束点 途径点单点模式)
getRouteT()获取全部的路径信息
pathwayPointListDelete()删除途径点列表项
clearPointGraphic()清除所有选点存点以及线图形
removeClickOn()删除场景点击监听

5.1 开始路径分析

startTowPointClickEvent(): void

开始路径分析,代码示例如下:

routePlugin.model.startTowPointClickEvent()

5.2 添加点

startOnePointClickEvent(type:string): void

参数type是点类型,值有startendpathway

如在行进路线中添加一些途经点,代码示例如下:

routePlugin.model.startOnePointClickEvent("pathway")
注:一条路线只能设置一个起点和一个终点,重复设置则会使用最新的。

5.3 获取全部的路径信息

getRouteT(): void

使用天地图获取路径的全部信息,代码示例如下:

const message = await routePlugin.model.getRouteT()

5.4 删除途经点

pathwayPointListDelete(index: number): void

如删除第一位途经点,代码示例如下:

routePlugin.model.pathwayPointListDelete(0)

5.5 清除全部

clearPointGraphic(): void

清除场景中的全部路径分析,页面显示为初始状态,代码示例如下:

routePlugin.model.clearPointGraphic()

5.6 关闭路径分析

removeClickOn(): void

关闭路径分析,本质上是移除场景中的点击事件,代码示例如下:

routePlugin.model.removeClickOn()