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


JavaScript ArcGIS Popup.fetchFeatures用法及代碼示例


基本信息

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

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.fetchFeatures函數(或屬性)的定義如下:

fetchFeatures (screenPoint, options) {Promise<FetchPopupFeaturesResult>}


自從:ArcGIS 適用於 JavaScript 4.15 的 API

使用此方法返回給定屏幕位置的函數。這些特征是從 view 中的所有 LayerViews 中獲取的。為了使用它,一個層必須已經有一個關聯的 PopupTemplate 並且有它的 popupEnabled 。然後可以在自定義 PopupFeature 小部件體驗中使用這些函數。一個示例可以是自定義側麵板,它根據最終用戶的點擊位置顯示feature-specific 信息。此方法允許開發人員控製如何處理輸入位置,然後控製如何處理結果。

參數:

類型說明
screenPoint Object

表示屏幕上一個點的對象。該點可以在 MapViewSceneView 中。

規格:
x

Number

x 坐標。

y

Number

y 坐標。

可選的

options 傳遞給 fetchFeatures 方法。

返回:

類型 說明
Promise<FetchPopupFeaturesResult> 使用選定的hitTest 位置解析。此外,如果 hitTest 直接在 view 上執行,它還會返回一個 graphics 數組,一個包含所有結果 graphics 的數組的單個 Promise ,或包含此結果數組的對象數組 graphics 除了其關聯的 layerview 。最常見的是,如果訪問所有函數,請使用 result's allGraphicsPromise 中返回的單個承諾並調用 .then(),如示例代碼段所示。

例子:

// Add Feature widget to UI
view.ui.add(featureWidget, "top-right");

// Get view's click event
view.on("click", function(event) {
  // Call fetchFeatures and pass in the click event screenPoint
  view.popup.fetchFeatures(event.screenPoint).then(function(response) {
    // Access the response from fetchFeatures
    response.allGraphicsPromise.then(function(graphics) {
      // Set the feature widget's graphic to the returned graphic from fetchFeatures
      featureWidget.graphic = graphics[0];
    });
  });
});

相關用法


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