Featurelayer 为同一个特征多次访问服务器

问题描述 投票:0回答:1

使用 ArcGIS javascript api (4.26) 创建最简单的图层时:

// Creating layer
var myLayer = new FeatureLayer({
    url: "https://...",
    renderer: {
               type: "simple",
               symbol: {
                        type: "simple-fill",
                        color: "yellow",
                        style: "solid",
                        outline: {
                                  color: "red",
                                  width: 1
                                 }
               }
              }
});

// Adding it to the map
view.when(function () {
    view.map.add(myLayer);
});

我只返回一个功能(objectid)。然而,在 chrome 中打开网络选项卡,显示它为同一个请求调用服务器 3 次。所有 3 次它都返回具有相同 objectid 的相同响应。在请求中,我注意到 3 个调用中唯一不同的参数是作为请求的一部分发送的量化参数,特别是 xmin、ymin、xmax、ymax 值在 3 个调用中不同。

我只想对服务器执行一个请求,并消除对服务器的重复请求。

我的问题是:

  • 如何在 arcgis 4.x 中关闭“量化”? (量化:arcgis javascript 3.x 中的“false”不起作用)
  • 还有什么其他选项可以只向服务器发出一个请求而不是三个请求?

尝试解决问题

我尝试了 ArcGIS Javascript Api 3.x 中的旧标志(量化),但没有效果。它仍然将量化参数发送到服务器:

// Creating layer
var myLayer = new FeatureLayer({
    url: "https://...",
    quantize: "false",
...

谢谢

arcgis-js-api
1个回答
0
投票

多亏了 Cabesuon 的建议,我才能够完成这项工作。我无法使用 FeatureLayer,因为即使在本地查询对象时使用 FeatureLayer 仍然会在我显示 FeatureLayer 时访问服务器。如果有更多的时间和知识,FeatureLayer 可能会起作用。但我的解决方案是查询对象,然后使用 GraphicsLayer 来显示它们。这是有效的,因为在查询期间只有一次命中服务器。这是我从这个例子中使用的一些代码:

查询一个特征层sql

© www.soinside.com 2019 - 2024. All rights reserved.