使用 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 Javascript Api 3.x 中的旧标志(量化),但没有效果。它仍然将量化参数发送到服务器:
// Creating layer
var myLayer = new FeatureLayer({
url: "https://...",
quantize: "false",
...
谢谢
多亏了 Cabesuon 的建议,我才能够完成这项工作。我无法使用 FeatureLayer,因为即使在本地查询对象时使用 FeatureLayer 仍然会在我显示 FeatureLayer 时访问服务器。如果有更多的时间和知识,FeatureLayer 可能会起作用。但我的解决方案是查询对象,然后使用 GraphicsLayer 来显示它们。这是有效的,因为在查询期间只有一次命中服务器。这是我从这个例子中使用的一些代码: