RouteLayer

AMD: require(["geoscene/layers/RouteLayer"], (RouteLayer) => { /* 代码 */ });
ESM: import RouteLayer from "@geoscene/core/layers/RouteLayer";
类: geoscene/layers/RouteLayer
继承: RouteLayer Layer Accessor
自: GeoScene API for JavaScript 4.23

RouteLayer 是用于可视化和解决路线的图层。已解决的路线包括转弯路线,可以作为门户项目或 web 地图的一部分从 GeoScene Online 或 Enterprise 中存储和检索。

RouteLayer 包含两个或多个停靠点,以及可选的点、面和折线障碍。可从 directionLinesdirectionPoints 和 routeInfo 属性访问已求解路线的结果。结果包括总行程时间、距离和转弯方向。

已知限制

目前,3D SceneViews 不支持 RouteLayer。

示例:
示例:

// 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: "geoscene-blue",
    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();

  // 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);
});

构造函数

new RouteLayer(properties)
参数:
properties Object
optional

请参阅属性以获取可以传递给构造函数的所有属性的列表。

属性概览

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

混合模式用于将图层混合在一起以在图层中创建有趣的效果,甚至可以生成看起来像新图层的效果。

更多信息RouteLayer
String更多信息

类的名称。

更多信息Accessor
Collection<DirectionLine>更多信息

DirectionLine 的集合,表示已解决路线的 directionPoints 之间的线性路径。

更多信息RouteLayer
Collection<DirectionPoint>更多信息

DirectionPoint 的集合,表示沿已解决路线的转弯方向。

更多信息RouteLayer
Effect更多信息

Effect 提供了可以在图层上执行的各种滤镜功能,以实现类似于图像滤镜工作方式的不同视觉效果。

更多信息RouteLayer
Extent更多信息

图层的完整范围。

更多信息Layer
String更多信息

分配给图层的唯一 ID。

更多信息Layer
String更多信息

指示层应如何在 LayerList 微件中显示。

更多信息Layer
Boolean更多信息

指示图层的资源是否已加载。

更多信息Layer
Error更多信息

如果加载时发生错误,则返回 Error 对象。

更多信息Layer
String更多信息

表示 load 操作的状态。

更多信息Layer
Object[]更多信息

加载时发生的警告列表。

更多信息Layer
Number更多信息

图层在视图中可见的最大比例(最大放大)。

更多信息RouteLayer
Number更多信息

图层在视图中可见的最小比例(最大缩小)。

更多信息RouteLayer
Number更多信息

图层的不透明度。

更多信息Layer
Collection<PointBarrier>更多信息

PointBarrier 的集合用于防止通过街道网络进行导航。

更多信息RouteLayer
Collection<PolygonBarrier>更多信息

PolygonBarrier 的集合用于防止通过街道网络进行导航。

更多信息RouteLayer
Collection<PolylineBarrier>更多信息

PolylineBarrier 的集合用于防止通过街道网络进行导航。

更多信息RouteLayer
PortalItem更多信息

从中加载图层的门户项目。

更多信息RouteLayer
RouteInfo更多信息

此属性包含已求解路线的几何形状和其他路线信息,例如总时间和距离。

更多信息RouteLayer
Collection<Stop>更多信息

Stop 的集合定义了路线的起点、终点、航路点或中断点。

更多信息RouteLayer
String更多信息

图层的标题用于在诸如 LayerListPopup 微件以及由 saveAs() 创建的门户项目中识别它。

更多信息RouteLayer
String更多信息 For RouteLayer 类型始终为 "route"更多信息RouteLayer
String更多信息

Route 服务的 REST 端点的 URL。

更多信息RouteLayer
Boolean更多信息

指示图层是否在 View 中可见。

更多信息Layer

属性详情

blendMode String

混合模式用于将图层混合在一起以在图层中创建有趣的效果,甚至可以生成看起来像新图层的效果。与使用透明度的方法可能会导致顶层褪色不同,混合模式可以通过将图层与下面的图层混合来创建各种非常生动和有趣的结果。

混合图层时,top layer 是应用了混合模式的图层。顶层下面的所有层都是背景层。默认的混合模式是 normal,其中顶层简单地显示在背景层之上。虽然这种默认行为是完全可以接受的,但在图层上使用混合模式为生成创意地图开辟了无限可能的世界。

GroupLayer 中的图层与地图的其余部分隔离地混合在一起。

在以下屏幕截图中,复古阴影浮雕图层显示在萤光世界图像图层上。color 混合模式应用于复古阴影浮雕,结果看起来像一个新图层。

color-blend

已知限制

  • 3D SceneViews 不支持 blendMode。
  • Legend 不支持 blendMode。
  • 请参阅 print 了解已知的打印限制。

以下因素会影响混合结果:

  • 所有层的顺序
  • 图层不透明度
  • 图层中要素的不透明度
  • 图层的可见性
  • 默认情况下,地图的最底层绘制在透明背景上。您可以更改 MapView 的背景 颜色。

可能的值:"average"|"color-burn"|"color-dodge"|"color"|"darken"|"destination-atop"|"destination-in"|"destination-out"|"destination-over"|"difference"|"exclusion"|"hard-light"|"hue"|"invert"|"lighten"|"lighter"|"luminosity"|"minus"|"multiply"|"normal"|"overlay"|"plus"|"reflect"|"saturation"|"screen"|"soft-light"|"source-atop"|"source-in"|"source-out"|"vivid-light"|"xor"

默认值:normal
也可查阅:
declaredClass Stringreadonly inherited

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

directionLines Collection<DirectionLine>readonly

DirectionLine 的集合,表示已解决路线的 directionPoints 之间的线性路径。

directionPoints Collection<DirectionPoint>readonly

DirectionPoint 的集合,表示沿已解决路线的转弯方向。

fect 提供了可以在图层上执行的各种滤镜功能,以实现类似于图像滤镜工作方式的不同视觉效果。这种强大的功能允许您将 css filter-like 函数应用于图层以创建自定义视觉效果,以提高地图的制图质量。这是通过将所需效果作为字符串或对象数组应用到图层的 effect 属性以设置与比例相关的效果来完成的。

注意

  • 如果需要应用满足或不符合指定 filter的功能的不同效果,请设置 featureEffect 属性。
  • 如果以下四个属性全部应用,那么它们将按以下顺序应用:featureEffecteffect不透明度混合模式

已知限制

默认值:null
也可查阅:
示例:
//下面的效果将应用于所有尺度的图层
//先应用亮度,然后是色调旋转,然后是对比度
//改变效果的顺序会改变最终结果
layer.effect = "brightness(5) hue-rotate(270deg) contrast(200%)"; 
// 在图层上设置一个比例相关的绽放效果
layer.effect = [
  {
    scale: 36978595,
    value: "drop-shadow(3px, 3px, 4px)"
  },
  {
    scale: 18489297,
    value: "drop-shadow(2px, 2px, 3px)"
  },
  {
    scale: 4622324,
    value: "drop-shadow(1px, 1px, 2px)"
  }
];

图层的完整范围。默认情况下,这是全局范围的。此属性可用于设置视图的范围以匹配图层的范围,以便其要素看起来填充视图。请参阅下面的示例片段。

示例:
// 图层加载后,将视图的范围设置为图层的全范围
layer.when(function(){
  view.extent = layer.fullExtent;
});

分配给图层的唯一 ID。 如果没有开发者设置,则在图层加载时自动生成。

listMode String inherited

指示层应如何在 LayerList 微件中显示。下面列出了可能的值。

说明
show 该图层在内容列表中可见。
hide 该图层隐藏在内容列表中。
hide-children 如果图层是 GroupLayerBuildingSceneLayerKMLLayerMapImageLayerTileLayerWMSLayer,从目录中隐藏子层。

可能的值:"show"|"hide"|"hide-children"

默认值:show
loaded Booleanreadonly inherited

指示图层的资源是否已加载。当true 时,可以访问对象的所有属性。

默认值:false
loadError Errorreadonly inherited

如果加载时发生错误,则返回 Error 对象。

默认值:null
loadStatus Stringreadonly inherited

表示 load 操作的状态。

说明
not-loaded 对象的资源尚未加载。
loading 对象的资源当前正在加载。
loaded 对象的资源已加载且没有错误。
failed 无法加载对象的资源。有关详细信息,请参阅 loadError

可能的值:"not-loaded"|"loading"|"failed"|"loaded"

默认值:not-loaded
loadWarnings Object[]readonly inherited

加载时发生的警告列表。

maxScale Number

图层在视图中可见的最大比例(最大放大)。如果地图放大超过此比例,则图层将不可见。0 的值表示图层没有最大比例。maxScale 值应始终小于 minScale 值,并且大于或等于服务规范。

默认值:0
示例:
// 当视图放大到超过 1:1,000 的比例时,图层将不可见
layer.maxScale = 1000;
// 图层的可见性不限于最大比例。
layer.maxScale = 0;
minScale Number

图层在视图中可见的最小比例(最大缩小)。如果地图缩小到超出此比例,则图层将不可见。0 的值表示图层没有最小比例。minScale 值应始终大于 maxScale 值,并且小于或等于服务规范。

默认值:0
示例:
// 当视图缩小到超过 1:3,000,000 的比例时,图层将不可见
layer.minScale = 3000000;
// 图层的可见性不限于最小比例。
layer.minScale = 0;
opacity Number inherited

图层的不透明度。该值的范围在 10 之间,其中 0 是 100% 透明的,而 1 是完全不透明的。

默认值:1
示例:
// 使图层 50% 透明
layer.opacity = 0.5;

PointBarrier 的集合用于防止通过街道网络进行导航。

PolygonBarrier 的集合用于防止通过街道网络进行导航。

PolylineBarrier 的集合用于防止通过街道网络进行导航。

portalItem PortalItem

从中加载图层的门户项目。如果门户项目引用要素服务或场景服务,则可以使用 layerId 属性指定要加载的单个图层。

从版本 4.17 开始,可以从 GeoScene Online 和 GeoScene Enterprise 中托管的要素服务项目加载表。这仅适用于要素图层,如果 FeatureLayer.isTable 返回 true 将成功加载。

示例:
//虽然这个例子使用了FeatureLayer,但同样的模式也可以
// 用于可能从 portalItem ids 加载的其他层。
const lyr = new FeatureLayer({
   portalItem: { // 转换成 new PortalItem()
     id: "caa9bd9da1f4487cb4989824053bb847"
   } //返回服务中的第一层
});

// 虽然此示例使用 FeatureLayer,但同样的模式也可以 // 用于 SceneLayers。
const lyr = new FeatureLayer({
   portalItem: { // 转换成 new PortalItem()
     id: "8d26f04f31f642b6828b7023b84c2188"
   },
   //加载给定要素服务中的第三项
   layerId: 2
});
// 这个片段加载一个托管在 GeoScene Online 中的表格。
const table = new FeatureLayer({
  portalItem: {
    id: "123f4410054b43d7a0bacc1533ceb8dc"
  }
});

// 将表格添加到地图之前,必须先加载并确认它是正确的类型。
table.load().then(function() {
  if (table.isTable) {
    map.table.add(table);
  }
});
routeInfo RouteInforeadonly

此属性包含已求解路线的几何形状和其他路线信息,例如总时间和距离。

Stop 的集合定义了路线的起点、终点、航路点或中断点。

示例:
// Define a route between Cancun Airport and Playa del Carmen with a break at Chichén Itzá.
const routeLayer = new RouteLayer({
  stops: [
    { locationType: "stop",  geometry: { x: -86.9074392, y: 21.0847238 } }, // Cancun Airport
    { locationType: "break", geometry: { x: -88.1331506, y: 20.6354437 } }, // Chichén Itzá
    { locationType: "stop",  geometry: { x: -87.1067159, y: 20.6538687 } }  // Playa del Carmen
  ]
});
title String

图层的标题用于在诸如 LayerListPopup 微件以及由 saveAs() 创建的门户项目中识别它。

如果未解决,标题将默认为已解决路线的名称或“路线”。

type Stringreadonly

对于 RouteLayer,类型始终为 "route"

url String

Route 服务的 REST 端点的 URL。

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

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

也可查看:
示例:
// Solve routes using the route service advertised on the portal
const portal = Portal.getDefault();
await portal.load();
const routeLayer = new RouteLayer({
  url: portal.helperServices.route.url
});
// Solve routes using a defined route service
const routeLayer = new RouteLayer({
  url: "https://route-api.geoscene.cn/arcgis/rest/services/World/Route/NAServer/Route_World"
});
visible Boolean inherited

指示图层是否在 View 中可见。当 false 时,图层仍可能添加到视图中引用的 Map 实例,但其功能将在视图中不可见。

默认的值:true
示例:
// 该层在视图中不可见
layer.visible = false;

方法概览

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

如果 load() 操作已经在进行中,则取消该操作。

更多信息Layer
Promise<LayerView>更多信息

由视图调用,例如 MapViewSceneView,当图层已添加到 Map.layers 集合中,并且必须为其创建图层视图。

更多信息Layer
更多信息

销毁层和任何关联资源(包括其 portalItem,如果它是层上的属性)。

更多信息Layer
Boolean更多信息

在实例上发出事件。

更多信息Layer
Promise<Object>更多信息

当图层可用时获取图层的自定义属性数据。

更多信息Layer
Boolean更多信息

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

更多信息Layer
Boolean更多信息

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

更多信息Layer
Boolean更多信息

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

更多信息Layer
Boolean更多信息

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

更多信息Layer
Promise更多信息

加载此类引用的资源。

更多信息Layer
Object更多信息

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

更多信息Layer
Promise<PortalItem>更多信息

使用此 RouteLayer 中的信息更新当前分配的 门户项目

更多信息RouteLayer
Promise<PortalItem>更多信息

将路径层保存到新的门户项目

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

此方法将使用 routeServiceUrl 引用的路由服务和网络对象 pointBarrierspolylineBarrierspolygonBarriersstops

更多信息RouteLayer
更多信息

使用已求解路径图层的结果更新图层。

更多信息RouteLayer
Promise更多信息

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

更多信息Layer

方法详情

cancelLoad()inherited

如果 load() 操作已经在进行中,则取消该操作。

createLayerView(view, options){Promise<LayerView>}inherited

由视图调用,例如 MapViewSceneView,当图层已添加到 Map.layers 集合中,并且必须为其创建图层视图。此方法在内部使用,没有直接调用的用例

参数:
view *

父视图。

options Object
optional

指定附加选项的对象。有关此对象所需的属性,请参阅下面的对象规格表。

规范:
signal AbortSignal
optional

中止层视图创建的信号。

返回
类型 说明
Promise<LayerView> 使用 LayerView 实例解决。
也可查阅:
destroy()inherited

销毁层和任何关联资源(包括其 portalItem,如果它是层上的属性)。该层一旦被破坏就不能再使用了。

被破坏的图层将从其父对象中删除,例如 MapWebMapWebSceneBasemapGroundGroupLayer

也可查阅:
emit(type, event){Boolean}inherited

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

参数:
type String

事件的名称。

event Object
optional

事件有效负载。

返回:
类型 说明
Boolean true 如果监听器被通知
fetchAttributionData(){Promise<Object>}inherited

当图层可用时获取图层的自定义属性数据。

返回:
类型 说明
Promise<Object> 解析为包含图层自定义属性数据的对象。
hasEventListener(type){Boolean}inherited

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

参数:
type String

事件的名称。

返回:
类型 说明
Boolean 如果类支持输入事件,则返回 true。
isFulfilled(){Boolean}inherited

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

返回:
类型 说明
Boolean 指示创建类的实例是否已完成(已解决或已拒绝)。
isRejected(){Boolean}inherited

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

返回:
类型 说明
Boolean 指示创建类的实例是否已被拒绝。
isResolved(){Boolean}inherited

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

返回:
类型 说明
Boolean 指示创建类的实例是否已解决。
load(signal){Promise}inherited

加载此类引用的资源。此方法自动为 View 及其在 Map 中引用的所有资源执行 如果视图是用地图实例构造的。

此方法必须由开发人员在访问不会在 View 中加载的资源时调用。

load() 方法仅在第一次调用时触发加载资源。随后的调用返回相同的promise。

可以提供一个 signal 来停止对 Loadable 实例加载状态感兴趣。当信号中止时,实例不会停止其加载过程,只有 cancelLoad 可以中止它。

参数:
signal AbortSignal
optional

可用于中止异步任务的信号对象。当发出中止信号时,返回的 Promise 将被一个名为 AbortErrorError 拒绝。另请参阅 AbortController 了解有关如何构建可用于传递中止信号的控制器的更多信息。

返回:
类型 说明
Promise 当资源加载时解决。
on(type, listener){Object}inherited

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

参数:

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

listener Function

事件触发时调用的函数。

返回:
类型 说明
Object 返回带有 remove() 方法的事件处理程序,应该调用该方法来停止侦听事件。
属性 类型 说明
remove Function 调用时,从事件中删除侦听器。
示例:
view.on("click", function(event){
   // event是事件触发后返回的事件句柄。
  console.log(event.mapPoint);
});
save(){Promise<PortalItem>}

使用此 RouteLayer 中的信息更新当前分配的门户项目

返回:
类型 说明
Promise<PortalItem> 已保存的门户项目。
也可查看:
示例:
// Create a route layer from an existing route portal item
const routeLayer = await Layer.fromPortalItem({
  portalItem: {
    id: "3828dfec3a0749a1b1aff9e2fa53157c"
  }
});

// Add the route layer to a map
map.add(routeLayer);

// Wait for both the view and route layer to load
await view.whenLayerView(routeLayer);

// Zoom to the extent of the route layer
await view.goTo(routeLayer.fullExtent);

// Update the route portal item on mouse click
view.on("click", async (event) => {
  // Reset the route layer's stops with the mouse click location being a waypoint
  routeLayer.stops = [
    { geometry: { x: -86.9074392, y: 21.0847238 } }, // Cancun Airport
    { geometry: event.mapPoint },                    // Mouse click location
    { geometry: { x: -88.1331506, y: 20.6354437 } }  // Chichén Itzá
  ];

  // Solve the route
  const result = await routeLayer.solve();

  // Use the results of the solve to update the route layer
  routeLayer.update(result);

  // Refresh the route portal-item using the route layer
  await routeLayer.save();
});
saveAs(portalItem, options){Promise<PortalItem>}

将路径层保存到新的门户项目。如果保存成功完成,新的门户项目将分配给 portalItem 属性。

如果您想在不更改所有权的情况下更新现有门户项目,请使用 save()

参数:
portalItem Promise<PortalItem>

图层将保存到的新门户项目

options Object
optional

保存选项。目前只能设置一个属性,即folder

规格:
folder PortalFolder
optional

保存项目的文件夹。

返回:
类型 说明
Promise<PortalItem> 已保存的门户项目。
也可查看:
示例:
// Create a route between Cancun Airport and Chichén Itzá
// Save the route to AGOL as a new route portal item

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 webMap = new WebMap({
  basemap: "geoscene-blue",
  layers: [
    routeLayer
  ]
});

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

const result = await routeLayer.solve();
routeLayer.update(result);

const extent = routeLayer.routeInfo.geometry.extent.clone().expand(1.5);
await view.goTo(extent);

await routeLayer.saveAs({
  title: "Route from Cancun Airport to Chichén Itzá"
});
solve(routeParameters, requestOptions){Promise<RouteLayerSolveResult>}

此方法将使用 routeServiceUrl 引用的路由服务和网络对象 pointBarrierspolylineBarrierspolygonBarriersstops

传递对 RouteParameters 的引用以指定或覆盖路线设置,例如 travelMode 或使用的停靠点。

参数:
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 polylineBarriers 相同
polygonBarriers polygonBarriers 相同
startTime new Date()
stops stops 相同
requestOptions Object
optional

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

返回:
类型 说明
Promise<RouteLayerSolveResult> 解析后,返回 RouteLayerSolveResult
也可查阅:
示例:
// Solve and display a route between Cancun Airport and Chichén Itzá.

// 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: "geoscene-blue",
  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();
routeLayer.update(result);

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

使用已求解路径图层的结果更新图层。

参数:
规范:
routeLayerSolveResult Object

有关可能传递给此方法的每个参数的详细信息,请参见下表。

规格:
directionLines Collection<DirectionLine>

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

directionPoints Collection<DirectionPoint>

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

readPointBarriers Collection<PointBarrier>

点障碍的集合。

polygonBarriers Collection<PolygonBarrier>

面障碍的集合。

polylineBarriers Collection<PolylineBarrier>

折线障碍的集合。

routeInfo RouteInfo

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

stops Collection<Stop>

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

也可查阅:
when(callback, errback){Promise}inherited

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

参数:
callback Function
optional

当 promise 解决时调用的函数。

errback Function
optional

当 promise 失败时执行的函数。

返回:
类型说明
Promise callback 的结果返回一个新的 Promise,它可用于 chain 附加函数。
示例:
// 尽管此示例使用 MapView,但任何作为 Promise 的类实例都可以以相同的方式使用 when()
let view = new MapView();
view.when(function(){
  // 当 Promise resolved 时,函数将被执行
}, function(error){
  // 当 Promise 通过 rejected 抛错时,这个函数将被执行
});

类型定义

RouteLayerSolveResult

计算路线和方向的结果。

属性:
directionLines Collection<DirectionLine>

表示与各个方向项关联的折线段。

directionPoints Collection<DirectionPoint>

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

pointBarriers Collection<PointBarrier>
optional

使用 RouteLayer 时限制沿街道网络行驶的点障碍。

polygonBarriers Collection<PolygonBarrier>
optional

使用 RouteLayer 时限制沿街道网络行驶的面障碍。

polylineBarriers Collection<PolylineBarrier>
optional

使用 RouteLayer 时限制沿街道网络行驶的折线障碍。

routeInfo RouteInfo

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

stops Collection<Stop>

表示使用 RouteLayer 创建的路线的起点、终点或中点。

事件概览

Show inherited events 隐藏继承的事件
名称 类型 描述
{view: View,layerView: LayerView}
更多信息

在图层的 LayerView 创建并在视图中呈现后触发。

更多信息 Layer
{view: View,error: Error}
更多信息

在将图层添加到地图后创建 LayerView 期间发出错误时触发。

更多信息 Layer
{view: View,layerView: LayerView}
更多信息

在层的 LayerView 被销毁并且不再在视图中呈现后触发。

更多信息 Layer

事件详情

layerview-createinherited

在图层的 LayerView 创建并在视图中呈现后触发。

属性:
view View

创建 layerView 的视图。

layerView LayerView

layer 中表示层的视图中呈现的 LayerView。

也可查阅:
示例:
// 每次为此特定视图创建图层视图时,都会触发此函数。

layer.on("layerview-create", function(event){
  / 发出此事件的图层的 LayerView
  event.layerView;
});
layerview-create-errorinherited

在将图层添加到地图后创建 LayerView 期间发出错误时触发。

属性:
view View

未能为发出此事件的图层创建图层视图的视图。

error Error

描述层视图创建失败原因的错误对象。

也可查阅:
示例:
// 在创建图层的图层视图期间发生错误时会触发此函数
layer.on("layerview-create-error", function(event) {
  console.error("LayerView failed to create for layer with the id: ", layer.id, " in this view: ", event.view);
});
layerview-destroyinherited

在层的 LayerView 被销毁并且不再在视图中呈现后触发。

属性:
view View

销毁 layerView 的图层。

layerView LayerView

表示层的被破坏的 LayerView。

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