Directions

AMD: require(["geoscene/widgets/Directions"], (Directions) => { /* code goes here */ });
ESM: import Directions from "@geoscene/core/widgets/Directions";
类: geoscene/widgets/Directions
继承于:Directions Widget Accessor
起始版本:GeoScene API for JavaScript 4.6

Directions 微件提供了一种使用自定义网络分析路径服务来构建行车和步行方向的方法。与 route 的工作原理类似,此微件生成路线,使用指定网络在多个点之间寻找成本最低的路径。搜索地址时,用于导航的点的位置取决于 Search 属性locationType。对于任何未定义 locationType 的定位器源,默认值为 "street"。生成的方向将显示详细的转弯说明。微件直接在其中包含预构建的搜索功能,因此您需要做的就是在应用程序中引用微件。

API不提供默认路径服务,使用该微件需用户指定路径服务地址。如果要在方向微件 UI 中对位置进行地理编码,内置的搜索小部件默认使用此 URL:https://www.geosceneonline.cn/geocode/rest/GeoScene/GeocodeServer。也可以设定自己的地理编码服务。请参阅 routeServiceUrl 属性设置路径服务,参阅 Search 属性以进行地理编码设置。

Clear route 按钮调用 reset() 方法,该方法清除所有输入停靠点,并在微件和地图中产生结果。对微件底层功能进行的任何类型的自定义都应通过其 viewModel 属性进行处理。

有关获得对微件样式的完全控制的信息,请参阅 Styling 主题。
另请参阅:
示例:
const directionsWidget = new Directions({
  view: view
});
// Adds the Directions widget below other elements in
// the top right corner of the view
view.ui.add(directionsWidget, {
  position: "top-right",
  index: 2
});

构造函数

new Directions(properties)
参数:
properties Object
可选

有关可能传递给构造函数的所有属性的列表,请参见属性

属性概览

可以设置、检索或收听任何属性。请参阅使用属性主题。
显示继承的属性 隐藏继承的属性
名称 类型 描述
String|HTMLElement更多信息

表示包含微件的 DOM 元素的 ID 或节点。

更多信息Widget
String更多信息

类的名称。

更多信息Accessor
GoToOverride更多信息

此函数提供了覆盖 MapView goTo()SceneView goTo() 方法的能力。

更多信息Directions
Number更多信息

指示用于起始地址和目的地地址的标题级别(即

更多信息Directions
String更多信息

微件的默认 CSS 图标类。

更多信息Directions
String更多信息

创建微件时分配给微件的唯一 ID。

更多信息Widget
String更多信息

微件的默认标签。

更多信息Directions
RouteLayerSolveResult更多信息

最近的路线结果。

更多信息Directions
Number更多信息

路由允许的最大停靠点数。

更多信息Directions
String更多信息

Route 服务的 REST 端点的 URL。

更多信息Directions
SimpleLineSymbol更多信息

定义用于在地图上绘制路线的符号。

更多信息Directions
SearchProperties更多信息

控制搜索时使用的默认属性。

更多信息Directions
Object更多信息

用于显示起点和最终目的地之间位置的默认停靠点符号。

更多信息Directions
MapView|SceneView更多信息

微件将从中操作的视图。

更多信息Directions
DirectionsViewModel更多信息

此微件的视图模型。

更多信息Directions
Boolean更多信息

指示微件是否可见。

更多信息Widget

属性详情

表示包含微件的 DOM 元素的 ID 或节点。该属性只能设置一次。以下示例都是使用微件时的有效用例。

示例:
// Create the HTML div element programmatically at runtime and set to the widget's container
const basemapGallery = new BasemapGallery({
  view: view,
  container: document.createElement("div")
});

// Add the widget to the top-right corner of the view
view.ui.add(basemapGallery, {
  position: "top-right"
});
// Specify an already-defined HTML div element in the widget's container

const basemapGallery = new BasemapGallery({
  view: view,
  container: basemapGalleryDiv
});

// Add the widget to the top-right corner of the view
view.ui.add(basemapGallery, {
  position: "top-right"
});

// HTML markup
<body>
  <div id="viewDiv"></div>
  <div id="basemapGalleryDiv"></div>
</body>
// Specify the widget while adding to the view's UI
const basemapGallery = new BasemapGallery({
  view: view
});

// Add the widget to the top-right corner of the view
view.ui.add(basemapGallery, {
  position: "top-right"
});
declaredClass Stringreadonly inherited
起始版本:GeoScene API for JavaScript 4.7

类的名称。声明的类名格式为 geoscene.folder.className

goToOverride GoToOverride
起始版本:GeoScene API 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);
};
headingLevel Number
起始版本:GeoScene API for JavaScript 4.20

指示用于起始地址和目的地地址的标题级别(即“380 New York Street”)。默认情况下,这会呈现为 2 级标题(例如 <h2>380 New York Street</h2>)。根据微件在您的应用中的位置,您可能需要调整此标题以获得正确的语义。这对于满足可访问性标准很重要。

默认值:2
另请参阅:
示例:
// address text will render as an <h3>
directions.headingLevel = 3;
iconClass String
起始版本:GeoScene API for JavaScript 4.7

微件的默认 CSS 图标类。

创建微件时分配给微件的唯一 ID。如果开发人员未设置,则默认为容器 ID,如果不存在,则会自动生成。

label String
起始版本:GeoScene API for JavaScript 4.7

微件的默认标签。

lastRoute RouteLayerSolveResultreadonly

最近的路线结果。返回一个 RouteLayerSolveResult 对象,其中包含障碍(如果有)、停靠点和方向的属性。

属性:
directionLines Collection<DirectionLine>

与转弯之间的线段关联的方向多段线的集合。

directionPoints Collection<DirectionPoint>

将方向项目集合为具有各种显示信息的点。

pointBarriers Collection<PointBarrier>

点障碍的集合。

polygonBarriers Collection<PolygonBarrier>

面障碍的集合。

polylineBarriers Collection<PolylineBarrier>

折线障碍的集合。

routeInfo RouteInfo

有关已解决路线的信息,包括路线的几何形状以及总距离和时间。

停靠点的集合。表示路线的起点、终点或中点。

默认值:null
另请参阅:
maxStops Number

路由允许的最大停靠点数。

默认值:50
routeServiceUrl String

Route 服务的 REST 端点的 URL。

默认情况下,DirectionsViewModel 将使用全局路由服务(参见 config.routeServiceUrl)。

如果连接到 Portal,您可以使用门户帮助服务上公布的路由服务,如下所示。

另请参阅:
示例:
// Create Directions using the route service advertised on the portal
const portal = Portal.getDefault();
const directions = new Directions({
  routeServiceUrl: portal.helperServices.route.url,
  view: view
});
// Create Directions using a defined route service
const portal = Portal.getDefault();
const directions = new Directions({
  routeServiceUrl: "https://route-api.arcgis.com/arcgis/rest/services/World/Route/NAServer/Route_World",
  view: view
});
routeSymbol SimpleLineSymbol

定义用于在地图上绘制路线的符号。

searchProperties SearchProperties

控制搜索时使用的默认属性。请注意,默认的 searchPropertiesSearch 微件略有不同。

默认值:null
stopSymbols Object

用于显示起点和最终目的地之间位置的默认停靠点符号。

属性:
first Symbol
optional

第一个停止符号。

middle Symbol
optional

中间停止符号。

last Symbol
optional

最后一个停止符号。

unlocated Symbol
optional

未定位的停止符号。

waypoint Symbol
optional

航路点停止符号。

微件将从中操作的视图。

此微件的视图模型。这是一个包含控制此微件行为的所有逻辑(属性和方法)的类。请参阅 DirectionsViewModel 类以访问微件上的所有属性和方法。

指示微件是否可见。

如果为 false,则该微件将不再呈现在 Web 文档中。这可能会影响文档中其他元素或微件的布局。例如,如果此微件是与视图 UI 右上角关联的三个微件中的第一个,则当此微件不可见时,其他微件将重新定位。有关详细信息,请参阅 "none" 的 CSS display 值。

默认值:true
示例:
// Hides the widget in the view
widget.visible = false;

方法概览

显示继承的方法 隐藏继承的方法
名称 返回类型 描述
String更多信息

用于构建微件 class 属性值的实用方法。

更多信息Widget
更多信息

注销微件实例。

更多信息Widget
Boolean更多信息

在实例上发出事件。

更多信息Widget
Promise<RouteLayerSolveResult>更多信息

计算路线和方向。

更多信息Directions
Boolean更多信息

指示实例上是否存在与提供的事件名称匹配的事件侦听器。

更多信息Widget
Boolean更多信息

isFulfilled() 可用于验证创建类的实例是否已完成(已解决或已拒绝)。

更多信息Widget
Boolean更多信息

isRejected() 可用于验证创建类的实例是否被拒绝。

更多信息Widget
Boolean更多信息

isResolved() 可用于验证创建类的实例是否已解决。

更多信息Widget
Object更多信息

在实例上注册事件处理程序。

更多信息Widget
更多信息

微件拆卸助手。

更多信息Widget
更多信息

此方法主要由开发人员在实现自定义微件时使用。

更多信息Widget
Object更多信息

此方法主要由开发人员在实现自定义微件时使用。

更多信息Widget
更多信息

立即将微件呈现给 DOM。

更多信息Widget
更多信息

此方法主要由开发人员在实现自定义微件时使用。

更多信息Widget
Promise更多信息

when() 一旦创建了类的实例,就可以利用它。

更多信息Widget
更多信息

缩放以在当前地图范围内显示完整路线。

更多信息Directions

方法详情

classes(classNames){String}inherited
起始版本:GeoScene API for JavaScript 4.7

用于构建微件 class 属性值的实用方法。这有助于简化 CSS 类设置。

参数:
repeatable

类名称。

返回:
类型 说明
String 计算出来的类名。
另请参阅:
示例:
// .tsx syntax showing how to set CSS classes while rendering the widget

render() {
  const dynamicIconClasses = {
    [CSS.myIcon]: this.showIcon,
    [CSS.greyIcon]: !this.showIcon
  };

  return (
    <div class={classes(CSS.root, CSS.mixin, dynamicIconClasses)} />
  );
}
destroy()inherited

注销微件实例。

emit(type, event){Boolean}inherited

在实例上发出事件。此方法仅应在创建此类的子类时使用。

参数:
type String

事件的名称。

event Object
可选

事件有效负载。

返回:
类型 说明
Boolean true if a listener was notified
getDirections(){Promise<RouteLayerSolveResult>}

计算路线和方向。如果计算成功,结果将分配给 lastRoute 返回。如果分配了视图,它将缩放到路线的范围。

返回:
类型 说明
Promise<RouteLayerSolveResult> 解决后,返回一个 RouteLayerSolveResult
hasEventListener(type){Boolean}inherited

指示实例上是否存在与提供的事件名称匹配的事件侦听器。

参数:
type String

事件的名称。

返回:
类型 说明
Boolean 如果类支持输入事件,则返回 true。
isFulfilled(){Boolean}inherited
起始版本:GeoScene API for JavaScript 4.19

isFulfilled() 可用于验证创建类的实例是否已完成(已解决或已拒绝)。如果满足,则返回 true

返回:
类型 说明
Boolean 指示创建类的实例是否已完成(已解决或已拒绝)。
isRejected(){Boolean}inherited
起始版本:GeoScene API for JavaScript 4.19

isRejected() 可用于验证创建类的实例是否被拒绝。如果被拒绝,则返回 true

返回:
类型 说明
Boolean 指示创建类的实例是否已被拒绝。
isResolved(){Boolean}inherited
起始版本:GeoScene API for JavaScript 4.19

isResolved() 可用于验证创建类的实例是否已解决。如果已解决,将返回 true

返回:
类型 说明
Boolean 指示创建类的实例是否已解决。
on(type, listener){Object}inherited

在实例上注册事件处理程序。调用此方法以将事件与侦听器挂钩。

参数:

要侦听的事件或事件数组。

listener Function

事件触发时调用的函数。

返回:
类型 说明
Object 返回带有 remove() 方法的事件处理程序,应调用该方法以停止侦听事件。
属性 类型 说明
remove Function 调用时,从事件中删除侦听器。
示例:
view.on("click", function(event){
  // event is the event handle returned after the event fires.
  console.log(event.mapPoint);
});
own(handles)inherited

微件拆卸助手。当微件被销毁时,添加到它的任何句柄都将被自动删除。

参数:

微件销毁后标记为删除的句柄。

postInitialize()inherited

此方法主要由开发人员在实现自定义微件时使用。在微件准备好渲染后执行。

render(){Object}inherited

此方法主要由开发人员在实现自定义微件时使用。它必须由子类实现以进行渲染。

返回:
类型 说明
Object 渲染的虚拟节点。
renderNow()inherited

立即将微件呈现给 DOM。

scheduleRender()inherited

此方法主要由开发人员在实现自定义微件时使用。安排微件渲染。此方法对于影响 UI 的更改很有用。

when(callback, errback){Promise}inherited
起始版本:GeoScene API for JavaScript 4.19

when() 一旦创建了类的实例,就可以利用它。这个方法有两个输入参数:一个 callback 函数和一个 errback 函数。callback 在类的实例加载时执行。如果类的实例无法加载,则执行 errback

参数:
callback Function
可选

当 promise 解决时调用的函数。

errback Function
可选

当 promise 失败时执行的函数。

返回:
类型 说明
Promise 返回 callback 结果的新promise,可用于链接其他函数。
示例:
// Although this example uses the BasemapGallery widget, any class instance that is a promise may use when() in the same way
let bmGallery = new BasemapGallery();
bmGallery.when(function(){
  // This function will execute once the promise is resolved
}, function(error){
  // This function will execute if the promise is rejected due to an error
});
zoomToRoute()

缩放以在当前地图范围内显示完整路线。

类型说明

SearchProperties

微件的可配置搜索属性。

属性:
activeSourceIndex Number
optional

指示当前选定源的数字索引。

allPlaceholder String
optional

在多个源上搜索时用作输入文本提示的字符串值。

autoNavigate Boolean
optional
默认值:true

指示选择后是否自动导航到所选结果。

autoSelect Boolean
optional

指示是否自动选择并缩放到第一个地理编码结果。

includeDefaultSources Boolean|Function
optional

指示是否在搜索 UI 中包含 defaultSources。 这可以是布尔值或返回搜索数组的函数。

locationType String
optional

定义位置类型,"street""rooftop"。对于任何未定义 locationType 的定位器源,默认值为 "street"

maxResults Number
optional
默认值: 6

指示要返回的最大搜索结果数。

maxSuggestions Number
optional
默认值: 6

指示为微件的输入返回的最大建议数。

minSuggestCharacters Number
optional
默认值: 1

指示查询建议之前所需的最少字符数。

popupEnabled Boolean
optional
默认值:false

指示单击选定结果时是否显示弹出窗口

popupTemplate PopupTemplate
optional

所选功能的自定义 PopupTemplate。

resultGraphicEnabled Boolean
optional
默认值:false

指示是否在地图上显示所选源的图形。

searchAllEnabled Boolean
optional

指示是否显示搜索所有来源的选项。

searchTerm String
optional

搜索框输入文本字符串的值。

optional

指定要在视图中搜索的源。

suggestionsEnabled Boolean
optional
默认值:true

指示当用户在微件中输入输入文本时是否显示建议。

optional

微件的视图。

viewModel SearchViewModel
optional

Search 微件的视图模型。

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.

Navigated to Directions