javascript - 如何在 ArcGIS Esri Map 中自动显示位置的放大 View ?

标签 javascript angular arcgis-js-api esri-maps

我已将 ArcGIS Esri map 集成到 Angular 应用程序中,并将一些位置输入到要素图层中,这些位置现在作为 Pinpoints 显示在 map 上。

但现在我想要的是,当用户进入 map 页面时我想在 map 上显示该位置的放大 View

我怎样才能实现这个目标?

.ts 文件

    const map = new Map({
      basemap: 'topo-vector',
      layers: esriLayers
  });

    const view = new MapView({
      container,
      map: map,
      zoom: 4,
      center: [-97.63, 38.34],
    });

      const myLocationLayer = new FeatureLayer({
        source: locationData.map((d,i)=>(
          {
              geometry: new Point({
                longitude: d.longitude,
                latitude: d.latitude
              }),
              attributes: {
                ObjectID: i,
                ...d
              }
          }
        )),
      objectIdField: 'ObjectID',
      geometryType: "point",
      renderer: renderer,
    });
    map.add(dataFeedLayer);

  this.view = view;

.html 文件

<!-- Map Div -->
<div #mapViewNode></div>

最佳答案

正如 @cabesuon 所解释的,一旦有了包含位置的要素图层,就可以使用 MapView.goTo() 方法。它接受多个输入选项。请参阅https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo .

至于获取要素的范围,如果它们已经在图层中,则无需自己计算。

view.goTo(dataFeedLayer.source);//没有额外的缩放填充

如果您在创建FeatureLayer时设置了源,则可以使用:

    view.whenLayerView(dataFeedLayer).then(() => {
        view.goTo({ target: dataFeedLayer.fullExtent.expand(1.2) })
    });

如果要在要素图层更改后重置:

    dataFeedLayer.queryExtent().then((results) => {
        view.goTo({ target: results.extent.expand(1.2) })
    });

关于javascript - 如何在 ArcGIS Esri Map 中自动显示位置的放大 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70678515/

相关文章:

angular - 有没有办法创建那些 HTML 模板替换自定义选择器的组件?

javascript - 表单验证不适用于 Angular ?

javascript - 如何传递内联 JSON 而不是 URL 路径

javascript - 如何使用 OpenLayers3 将图标放在 map 中选定的兴趣点上?

JavaScript:需要帮助订购我的 JS "Uncaught TypeError: Cannot read property ' 值为 null"

javascript - ng-animate 不与 ng-show 一起使用

javascript - 使用 lodash 从 Angular 8 的列表中删除重复的字符串(忽略大小写)

javascript - 如何使用 jquery 或 javascript 搜索表中的多列

angular - 如何在鹅毛笔编辑器中设置字符限制

javascript - 将 JavaScript AJAX Web API 查询转换为 PHP CURL