为 Directions 微件提供通信和数据操作逻辑。
const directions = new Directions({
viewModel: { // autocasts as new DirectionsViewModel
routeServiceUrl: "https://route-api.geoscene.cn/geoscene/rest/services/World/Route/NAServer/Route_World"
}
});
构造函数
属性概述
名称 | 类型 | 描述 | 类 |
---|---|---|---|
String | 类的名称。 更多详情 | Accessor | |
GoToOverride | 此函数提供了覆盖 MapView goTo() 或 SceneView goTo() 方法的能力。 更多详情 | DirectionsViewModel | |
Object | 在分析中用作阻抗属性的网络属性名称。 更多详情 | DirectionsViewModel | |
RouteLayerSolveResult | 最近的路径结果。 更多详情 | DirectionsViewModel | |
RouteLayer | 与 DirectionsViewModel 相关联的 RouteLayer。 更多详情 | DirectionsViewModel | |
Number | 路径允许的最大停靠点数。 更多详情 | DirectionsViewModel | |
RouteParameters | 用于调用服务的路径参数对象。 更多详情 | DirectionsViewModel | |
TravelMode | getDirections() 在请求路径和方向时将使用的出行模式。 更多详情 | DirectionsViewModel | |
ServiceDescription | Route REST Endpoint 返回的服务描述对象。 更多详情 | DirectionsViewModel | |
String | 视图模型的当前状态。 更多详情 | DirectionsViewModel | |
Object | 计算路径时用于行驶时间的经度网络属性名称。 更多详情 | DirectionsViewModel | |
TravelMode[] | 来自相关 RouteLayer 路径服务的可用出行模式数组 (请参阅 RouteLayer.url)。 更多详情 | DirectionsViewModel | |
MapView|SceneView | 微件将从中操作的视图。 更多详情 | DirectionsViewModel |
属性详细信息
-
apiKey String起始版本:GeoScene Maps SDK for JavaScript 4.19
-
用于访问资源或服务的授权字符串。API 秘钥可在 GeoScene Developer 仪表盘中生成和管理。API 密钥显式绑定到 GeoScene 帐户;它还用于监视服务的使用情况。在特定类上设置细粒度 API 秘钥将覆盖全局 API 秘钥。
默认情况下,将使用以下 URL (除非在应用程序中被覆盖,或者从门户使用不同的默认值):
地理编码 URL:
https://www.geosceneonline.cn/geocode/rest/GeoScene/GeocodeServer
路径服务 URL:
https://route-api.geoscene.cn/geoscene/rest/services/World/Route/NAServer/Route_World
-
起始版本:GeoScene Maps SDK for JavaScript 4.7
-
类的名称。声明的类名称格式化为
geoscene.folder.className
。
-
goToOverride GoToOverride起始版本:GeoScene Maps SDK for JavaScript 4.8
-
此函数提供了覆盖 MapView goTo() 或 SceneView goTo() 方法的能力。
示例// The following snippet uses the Search widget but can be applied to any // widgets that support the goToOverride property. search.goToOverride = function(view, goToParams) { goToParams.options.duration = updatedDuration; return view.goTo(goToParams.target, goToParams.options); };
-
lastRoute RouteLayerSolveResultreadonly
-
最近的路径结果。返回一个 RouteLayerSolveResult 对象,其中包含障碍 (如果有)、停靠点和方向的属性。
- 属性
-
directionLines Collection<DirectionLine>
与转弯之间的线段相关联的方向折线的集合。
directionPoints Collection<DirectionPoint>将方向项目集合表示为具有各种显示信息的点。
pointBarriers Collection<PointBarrier>点障碍的集合。
polygonBarriers Collection<PolygonBarrier>面障碍的集合。
polylineBarriers Collection<PolylineBarrier>折线障碍的集合。
routeInfo RouteInfo有关已求解路径的信息,包括路径几何以及总距离和时间。
stops Collection<Stop>停靠点的集合。表示路线的起点、终点或中点。
- 默认值:null
- 另请参阅
-
layer RouteLayer起始版本:GeoScene Maps SDK for JavaScript 4.24
-
与 DirectionsViewModel 相关联的 RouteLayer。路径图层包含停靠点和障碍物,将用于显示和求解路径。
-
maxStops Number
-
路径允许的最大停靠点数。
- 默认值:50
-
routeParameters RouteParameters
-
用于调用服务的路径参数对象。有关可用设置的列表,请参阅 RouteParameters 文档。
-
selectedTravelMode TravelMode
-
getDirections() 在请求路径和方向时将使用的出行模式。
有关可用出行模式的列表,请访问 serviceDescription 上的 travelModes 或
supportedTravelModes
属性。如果指定给图层的 RouteLayer 托管在 GeoScene Enterprise 上,则此属性将尝试指定以前使用的出行模式。
默认情况下,如果图层不是 GeoScene Enterprise 项目,则此属性将为路径服务的默认出行模式 (请参阅 ServiceDescription 的
defaultTravelMode
)。- 默认值:null
- 另请参阅
示例// Create a RouteLayer and assign to the DirectionsViewModel. const layer = new RouteLayer(); map.add(layer); ; const directionsViewModel = new DirectionsViewModel({ apiKey, layer }); await directionsViewModel.load(); // wait for the view model to load the route service's "service description". // Print view model's selected travel mode. This will be equivalent to the routing service's default travel mode. console.log(directionsViewModel.selectedTravelMode.name); // Assign the "Walking Time" travel mode. directionsViewModel.selectedTravelMode = directionsViewModel.travelModes.find(({ name }) => name === "Walking Time");
-
serviceDescription ServiceDescriptionreadonly
-
Route REST Endpoint 返回的服务描述对象。该对象包含三个属性:
currentVersion
、defaultTravelMode
和supportedTravelModes
。在实施对车辆或停靠点属性有限制或偏好的复杂物流场景时,此信息很有用,例如避开收费公路、处理危险材料、处理停靠点服务时间等。
- 默认值:null
-
state Stringreadonly
-
视图模型的当前状态。
可能的值:"disabled"|"ready"
- 默认值:disabled
-
timeAttribute Objectreadonly
-
计算路径时用于行驶时间的经度网络属性名称。
-
travelModes TravelMode[]readonly
-
来自相关 RouteLayer 路径服务的可用出行模式数组 (请参阅 RouteLayer.url)。
-
微件将从中操作的视图。
方法概述
名称 | 返回值类值 | 描述 | 类 |
---|---|---|---|
添加一个或多个与对象生命周期相关联的句柄 更多详情 | Accessor | ||
将地图居中于指定行进或停止处。 更多详情 | DirectionsViewModel | ||
清除所有突出显示的路段。 更多详情 | DirectionsViewModel | ||
从方向列表中移除路径方向,保持输入不变。 更多详情 | DirectionsViewModel | ||
Object | 返回与解析名称关联的成本属性。 更多详情 | DirectionsViewModel | |
Promise<RouteLayerSolveResult> | 计算路径和方向。 更多详情 | DirectionsViewModel | |
Boolean | 如果存在指定的句柄组,则返回 true。 更多详情 | Accessor | |
Promise | 突出显示指定的网络要素。 更多详情 | DirectionsViewModel | |
Promise | 应调用此方法来加载视图模型的路径资源。 更多详情 | DirectionsViewModel | |
移除对象拥有的句柄组。 更多详情 | Accessor | ||
重置 ViewModel 的状态,清除微件和地图中的所有输入停靠点和结果。 更多详情 | DirectionsViewModel | ||
Promise<PortalItem> | 保存与视图模型相关联的 RouteLayer。 更多详情 | DirectionsViewModel | |
Promise<PortalItem> | 将与视图模型相关联的 RouteLayer 另存为新门户项目。 更多详情 | DirectionsViewModel | |
缩放以在当前地图范围内显示完整路径。 更多详情 | DirectionsViewModel |
方法详细说明
-
addHandles(handleOrHandles, groupKey)inherited起始版本:GeoScene Maps SDK for JavaScript 4.25
-
添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。
// Manually manage handles const handle = reactiveUtils.when( () => !view.updating, () => { wkidSelect.disabled = false; }, { once: true } ); this.addHandles(handle); // Destroy the object this.destroy();
参数handleOrHandles WatchHandle|WatchHandle[]对象销毁后,标记为要移除的句柄。
groupKey *optional标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。
-
centerAt(stopOrManeuver)
-
将地图居中于指定行进或停止处。
参数stopOrManeuver Graphic地图应居中的停靠点或行进策略。
-
clearHighlights()
-
清除所有突出显示的路段。
-
clearResults()
-
从方向列表中移除路径方向,保持输入不变。路径和位置保留在地图上。
-
getCostAttribute(attributeName){Object}
-
返回与解析名称关联的成本属性。
参数attributeName String指定用作阻抗的成本属性的属性名称。
返回类型 描述 Object 与传递的名称关联的成本属性。 属性 类型 描述 name string 阻抗网络属性的名称。 units string 此网络属性的单位。
-
getDirections(){Promise<RouteLayerSolveResult>}
-
计算路径和方向。如果成功,结果将分配给 lastRoute 并在解析 promise 中返回。如果分配了视图,它将缩放到路径的范围。
返回类型 描述 Promise<RouteLayerSolveResult> 解析后,返回 RouteLayerSolveResult。
-
起始版本:GeoScene Maps SDK for JavaScript 4.25
-
如果存在指定的句柄组,则返回 true。
参数groupKey *optional组键。
返回类型 描述 Boolean 如果存在指定的句柄组,则返回 true
。示例// Remove a named group of handles if they exist. if (obj.hasHandles("watch-view-updates")) { obj.removeHandles("watch-view-updates"); }
-
highlight(networkFeature){Promise}起始版本:GeoScene Maps SDK for JavaScript 4.24
-
突出显示指定的网络要素。
参数networkFeature DirectionLine|DirectionPoint|PointBarrier|PolygonBarrier|PolylineBarrier|RouteInfo|Stop要突出显示的网络要素。
返回类型 描述 Promise 突出显示完成时解析。
-
load(){Promise}
-
应调用此方法来加载视图模型的路径资源。
此方法从分配的路径服务下载服务元数据。在访问视图模型上的属性之前或当 routeServiceUrl 更改时调用此方法。
返回类型 描述 Promise 解析后,视图模型已加载路径分析所需的路径服务元数据。
-
removeHandles(groupKey)inherited起始版本:GeoScene Maps SDK for JavaScript 4.25
-
移除对象拥有的句柄组。
参数groupKey *optional要移除的组键或组键的数组或集合。
示例obj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
-
reset()
-
重置 ViewModel 的状态,清除微件和地图中的所有输入停靠点和结果。
-
save(){Promise<PortalItem>}起始版本:GeoScene Maps SDK for JavaScript 4.24
-
保存与视图模型相关联的 RouteLayer。此方法将更新与图层相关联的门户项目。
返回类型 描述 Promise<PortalItem> 解析后,返回 PortalItem。
-
saveAs(portalItem, options){Promise<PortalItem>}起始版本:GeoScene Maps SDK for JavaScript 4.24
-
将与视图模型相关联的 RouteLayer 另存为新门户项目。
参数portalItem Promise<PortalItem>图层将保存到的新门户项目。
options Objectoptional保存选项。目前,仅可设置一个属性,即
folder
。规范folder PortalFolderoptional保存项目的文件夹。
返回类型 描述 Promise<PortalItem> 保存的门户项目。
-
zoomToRoute()
-
缩放以在当前地图范围内显示完整路径。