在 ArcGIS 10.5 下,ArcGIS API for JavaScript 3.18 版本中,使用 Map Export 條件查詢,Layer Definitions 條件爲:0:objectid=5
出現錯誤提示:Invalid layerDefs is specified,但是 ArcGIS 10.3 下是沒有問題的,奇怪了!
網上說新的版本要使用 Json 格式,果然,在 MapServer 裏測試,發現新的寫法格式是使用 Json 方式:{"0", "objectid=5"}
現在 MapServer 是可以查詢了,但是 ArcGIS API for JavaScript 3.18 代碼中查詢依然是報錯,怪了!
經過報錯提示,在 BING 下找到了答案(度娘不給力),原因是 API 版本的 Bug。我把 3.18 換成了 3.21 就正常了!
參考資料:
1.官網幫助文檔
http://server.arcgisonline.com/arcgis/sdk/rest/index.html#/Export_Map/02ss00000062000000/
2.解決方案
https://community.esri.com/thread/190125-layerdefs-issue
3.漏洞 BUG-000102051:
https://support.esri.com/zh-cn/bugs/nimbus/QlVHLTAwMDEwMjA1MQ==
4.如果是特殊原因,或不想更換API版本,那麼只能修改API的代碼,可以參考下面內容:(個人不建議)
https://community.esri.com/thread/188421-imageparameterslayerdefs-does-not-work-with-105