Я пытался раскрасить полигоны на основе атрибутов с помощью ClassBreaksRenderer в ArcGIS JS API. Мой источник данных - это локальный файл json, который, как я подозреваю, является причиной того, что он не работает. Я основывал свое тестирование на примере, приведенном в документации: https://developers.arcgis.com/javascript/3/jssamples/renderer_class_breaks.html Где я могу заменить указатель FeatureLayer следующим образом:
оригинал:
var featureLayer = new FeatureLayer("https://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/3", ...
Заменены:
var featureLayer = new FeatureLayer("./data/check.json", ...
Слой geojson отображается, и все атрибуты отображаются во всплывающем окне при щелчке по многоугольникам, но я не могу применить какой-либо цвет к файлу, он просто отображается в полупрозрачном зеленом оттенке по умолчанию. Фактически, единственный способ, которым я могу вообще изменить цвет слоя json, - это если мне потребуется простой рендерер: esri/renderers/SimpleRenderer
затем настройте следующим образом, в противном случае все еще следуя примеру ClassBreaksRenderer:
var simpleJson = {
"type": "simple",
"label": "",
"description": "",
"symbol": {
"color": [255,0,50,200],
"style": "esriSFSSolid",
"type": "esriSFS"
}
}
featureLayer.renderer = new SimpleRenderer(simpleJson);
Мне интересно, поддерживает ли API локальный файл json, и в этом случае я рассмотрю возможность перехода на Leaflet для этого проекта.
Спасибо, что искали.