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


JavaScript ArcGIS RouteLayer用法及代碼示例

基本信息

以下是所在類或對象的基本信息。

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 是用於可視化和解決路線的圖層。已解決的路線包括turn-by-turn 方向,可以作為門戶項目或網絡Map的一部分從ArcGIS Online 或 Enterprise 中存儲和檢索。

RouteLayer 由兩個或多個停靠點以及可選的點、多邊形和折線障礙組成。已解決路線的結果可從 DirectionLines、directionPoints 和 RouteInfo 屬性訪問。結果包括總行程時間、距離和turn-by-turn方向。

已知限製

目前,RouteLayer 在 3D SceneViews 中不受支持。

例子:

// Routing with the RouteLayer's default route service requires an apikey.
const apiKey = "<your api key>";

// A minimum of two stops is required for routing.
const stops = [
  new Stop({ geometry: { x: -117.1825, y: 34.054722 }}),
  new Stop({ geometry: { x: -116.545278, y: 33.830278 }})
];

// Create route layer and assign the stops. Only solved routelayers will be rendered.
const routeLayer = new RouteLayer({
  stops
});

// Create a view and add the routelayer to the view's map.
const view = new MapView({
  container: "viewDiv",
  map: new Map({
    basemap: "dark-gray-vector",
    layers: [ routeLayer ]
  })
});

// Wait for the view to load since we'll be zooming to the extent of the zoomed solution.
view.when().then(async () => {
  // Solve the route using routelayer stops and barries and additional properties from the parsed RouteParameters
  // object. Use the RouteParameters to provide the apiKey and other setting like directions language and travel
  // mode.
  const results = await routeLayer.solve({ apiKey });

  // Use the returned result to update the RouteLayer. This method will overwrite the stops, barriers, directions and
  // routeInfo properties.
  routeLayer.update(results);

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

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 RouteLayer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。