當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。