受影响的 JS API:4.9、4.10 JS API 正常:< 4.8
将我们的应用程序升级到 4.9 后,不会加载 Koop 服务器提供的功能层。我已追踪到正在查询功能计数的请求。
让我们考虑 koop 网站上的示例 Koop 服务
let koopServiceUrl = 'http://koop.dc.esri.com/github/smartchicago/chicago-atlas/db::import::zipcodes/FeatureServer/0'
现在 Chrome 开发者窗口中的日志将显示 2 个请求。 - 一个用于图层定义,工作正常 (200) - 1 表示特征计数,返回 404(见下文)
请注意,失败的请求网址中存在重复的图层索引值
。如果我从 koopServiceUrl
中的定义 url 中删除 /0
,则该层加载正常。
在 4.8 版本中,上述服务正常工作,并且特征计数请求的格式正确,url 参数中仅包含单层索引值。
最佳答案
看起来 JS API > 4.8 需要在功能层 URL 中包含 rest/services
。 Koop 的最新版本包含一组附加路由,其中包含此附加 URL 片段。例如:
例如路线:
/file-geojson/:id/FeatureServer/:layer/:method
与 rest/services
具有功能等效的版本:
/file-geojson/rest/services/:id/FeatureServer/:layer/:method
如果您使用第二条路线,JS API 将按预期工作。
关于javascript - ESRI JS API 4.9+ 和 Koop : services fail to load due to reduntant url params,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54101056/