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


JavaScript ArcGIS Popup.actions用法及代码示例


基本信息

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

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

ESM: import Popup from "@arcgis/core/widgets/Popup";

类: esri/widgets/Popup

继承: Popup > Widget > Accessor

自从:用于 JavaScript 4.0 的 ArcGIS API

用法说明

Popup.actions函数(或属性)的定义如下:

来自 Object[]

定义可以通过单击弹出窗口中的图标或图像来执行的操作。默认情况下,每个弹出窗口都有一个zoom-to带有放大镜图标的动作popupTemplate-zoom-action.单击此图标时,视图会放大四个 LOD 并以所选要素为中心。

您可以通过将 includeDefaultActions 设置为 false 或在 PopupTemplate 中将 overwriteActions 属性设置为 true 来从默认弹出操作中删除此操作。弹出窗口中每个动作的顺序是它们在数组中出现的顺序。

每次单击弹出窗口中的操作时都会触发 trigger-action 事件。此事件应用于为每个单击的操作执行自定义代码。例如,如果您想向弹出窗口添加 zoom-out 操作以将视图缩小多个 LOD,则可以在单独的函数中定义 zoom-out 代码。然后,您将在 trigger-action 事件处理程序中调用自定义 zoom-out 函数。有关其工作原理的更多详细信息,请参阅下面的示例代码片段。

使用 ActionButtonActionToggle 类中列出的属性定义操作。

例子:

// Defines an action to zoom out from the selected feature
let zoomOutAction = {
  // This text is displayed as a tooltip
  title: "Zoom out",
  // The ID by which to reference the action in the event handler
  id: "zoom-out",
  // Sets the icon font used to style the action button
  className: "esri-icon-zoom-out-magnifying-glass"
};
// Adds the custom action to the popup.
view.popup.actions.push(zoomOutAction);

// The function to execute when the zoom-out action is clicked
function zoomOut() {
  // in this case the view zooms out two LODs on each click
  view.goTo({
    center: view.center,
    zoom: view.zoom - 2
  });
}

// This event fires for each click on any action
view.popup.on("trigger-action", function(event){
  // If the zoom-out action is clicked, fire the zoomOut() function
  if(event.action.id === "zoom-out"){
    zoomOut();
  }
});

相关用法


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