2015-07-02 4 views
0

У меня есть функциональный слой, содержащий 12 элементов с тем же определенным стилем. Но я хочу изменить каждый элемент, чтобы иметь уникальный символ при визуализации.Arcgis javascript - установить другой символ для каждого графика в функциональном слое

var Layer = new FeatureLayer("http://...my map server.../0"); 

Layer.graphics.forEach(function (entry) { 
    // loop through each item 
    console.log(entry);       
    console.log(entry.attributes.FID); 

    var symbol = new PictureMarkerSymbol({ "url":"/images/icons/fid_" + entry.attributes.FID + ".png", "height":20, "width":20 }); 
    entry.setSymbol(symbol); 
    var renderer = new esri.renderer.SimpleRenderer(symbol); 
    Layer.setRenderer(renderer); // <-- this appears to override all previous items 
}); 

map.addLayer(Layer); 

я опустил код, чтобы сохранить этот простой; теперь у меня есть символ, но это символ последнего entry, который зациклен для всех элементов.

мне нужно каждый entry иметь уникальный символ определяется его FID (0-11)

Я поиск через API JavaScript документы ArcGIS и не может найти ничего, что адресует это. Благодарю.

ответ

0

Если вы знаете, что там будут только 12 записей, и не собираешься менять ... Следуйте ниже шагов, чтобы сделать это:

  1. Добавить Уникальное средство визуализации значения вместо простого визуализатора.
  2. Добавить объектID/FID как уникальное поле рендеринга значения.
  3. Установите этот новый рендерер на объект функционального слоя.
  4. Добавить этот слой в карту.

Сообщите мне, если вам нужны дополнительные разъяснения.

Пример: https://developers.arcgis.com/javascript/3/sandbox/sandbox.html?sample=renderer_unique_value

Примечание: если вам нужно точное решение работает, пожалуйста, поделитесь своим слоем отдыхом URL.

Надеюсь, это вам поможет :)

+0

Perfect. Спасибо :) – Larry

+0

приветствую г-на Ларри :) –