当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaScript ArcGIS RouteLayer.solve用法及代码示例


基本信息

以下是所在类或对象的基本信息。

AMD: require(["esri/layers/RouteLayer"], (RouteLayer) => { /* code goes here */ });

ESM: import RouteLayer from "@arcgis/core/layers/RouteLayer";

类: esri/layers/RouteLayer

继承: RouteLayer > Layer > Accessor

自从:用于 JavaScript 4.23 的 ArcGIS API

用法说明

RouteLayer.solve函数(或属性)的定义如下:

solve (routeParameters, requestOptions) {Promise<RouteLayerSolveResult>}


此方法将使用由routeServiceUrl 引用的路线服务以及网络对象pointBarriers、polylineBarriers、polygonBarriers 和stops 来求解路线。

传递对 RouteParameters 的引用以指定或覆盖路径设置,例如 travelMode 或使用的停靠点。如果未定义 global apiKey,则可以使用 RouteParameters.apiKey 属性。

参数:

类型说明
routeParameters RouteParameters

以下属性是预设的,不能被覆盖:

属性
directionsOutputType "featuresets"
ignoreInvalidLocations true
preserveFirstStop true
preserveLastStop true
returnBarriers true
returnDirections true
returnPolygonBarriers true
returnPolylineBarriers true
returnRoutes true
returnStops true

以下属性也将自动设置,但可以被覆盖:

属性 默认值
pointBarriers 与 pointBarriers 相同
polylineBarriers 与折线障碍相同
polygonBarriers 与多边形屏障相同
startTime new Date()
stops 与停靠站相同
requestOptions Object
可选的

用于数据请求的附加options(将覆盖构造期间定义的 requestOptions)。

返回:

类型 说明
Promise<RouteLayerSolveResult> 解析后,返回 RouteLayerSolveResult。

例子:

// Solve and display a route between Cancun Airport and Chichén Itzá.
const apiKey = "<your api key>"

// Create a route consisting of two stops.
const routeLayer = new RouteLayer({
  stops: [
    { geometry: { x: -86.9074392, y: 21.0847238 } }, // Cancun Airport
    { geometry: { x: -88.1331506, y: 20.6354437 } }  // Chichén Itzá
  ]
});

const map = new Map({
  basemap: "dark-gray-vector",
  layers: [routeLayer]
});

const view = new MapView({
  container: "viewDiv",
  map
});
await view.when();

// Solve the route and use the results to update the layer.
const result = await routeLayer.solve({ apiKey });
routeLayer.update(result);

// Zoom to the extent of the solved route.
view.goTo(routeLayer.routeInfo.geometry);

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 RouteLayer.solve。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。