laptop and a wrench

不具合

Vector tile services fail to display in ArcGIS API for JavaScript 4.18 and above and return the error message, "Cannot read property 'getAttributeLocations' of undefined."

最後に公開された状態: October 29, 2021 ArcGIS API for JavaScript
不具合 ID 番号 BUG-000143069
送信されましたSeptember 21, 2021
最終更新日June 5, 2024
適用対象ArcGIS API for JavaScript
見つかったバージョン4.20
オペレーティング システムN/A
オペレーティング システムのバージョンN/A
ステータスWill Not Be Addressed

参考情報

By definition, the JS AP identifies style-layers by their names, and the assumption is that names are unique across the style (they are case insensitive). In this particular case, there are two layers named background: { "id": "background", "type": "background", "paint": { "background-color": "#FEFFFF" } }, { "id": "Background", "type": "fill", "source": "esri", "source-layer": "Background", "layout": {}, "paint": { "fill-color": "#A9DDEF" } }, The MapBox style spec indicate that layer Id (name) must be unique: https://docs.mapbox.com/mapbox-gl-js/style-spec/layers/. The renderer is accessing the layer by it's name (using lowercase form) and therefore in this case we end up with the wrong layer type. At 4.18, we added new methods to interact with style-layers and made some code cleaning as part of it. https://developers.arcgis.com/javascript/latest/4.18/#vectortilelayer We can add a protection to bail out in case. BUT we end up with the wrong layer type and we would still end up not rendering all layers. This is what is happening for MapBox I am sure. So we will not add a protection to bail out in those cases. The best solution here is for the user to update their layer Ids. This test app shows the user's vector tile layer working at JS API version 4.21. https://codepen.io/U_B_U/pen/XWgBEVX?editors=1000

再現の手順

不具合 ID: BUG-000143069

ソフトウェア:

  • ArcGIS API for JavaScript

バグのステータスが変更されたときに通知を受け取る

Esri Support アプリのダウンロード

このトピックについてさらに調べる

ArcGIS エキスパートのサポートを受ける

テクニカル サポートへのお問い合わせ

Esri Support アプリのダウンロード

ダウンロード オプションに移動