Как добавить класс CSS в SimpleMarkerSymbol в GraphicsLayer

Не могли бы вы сообщить мне, есть ли способ привязать класс CSS .marker к ArcGIS SimpleMarkerSymbol в графическом слое?

У меня есть SimpleMarkerSymbol с именем schoolMarker, который я оформляю с помощью параметров ESRI, но мне нужно добавить больше стилей CSS, таких как .marker

var schoolMarker = new SimpleMarkerSymbol();
    schoolMarker.setStyle(SimpleMarkerSymbol.STYLE_CIRCLE);
    schoolMarker.setSize(30);
    schoolMarker.setOutline(null);
    schoolMarker.setColor(new Color([255,116,0,0.25]));

Вот класс CSS:

.marker{
   stroke-linecap: round;
   stroke-linejoin: round;
   stroke-opacity: 1.0;
   fill-opacity: 1.0;
   background-color: rgb(0, 89, 190);
   stroke: rgb(0, 89, 190);
   fill: rgb(0, 89, 190);
   fill-opacity: 1;
   stroke-width: 70pt;
   stroke-opacity: 1;
   opacity: 0.12;
 }

person Behseini    schedule 09.12.2016    source источник


Ответы (1)


Это хорошее руководство для начала

https://developers.arcgis.com/javascript/3/jshelp/inside_styling_svg.html

Отметить:

  1. установите для свойства стиля векторного слоя значение false. Это означает, что вы несете полную ответственность за стилизацию функций.

  2. Установите (или узнайте, что это такое) dataAttributes. В отрендеренном html они будут выглядеть так

    <path fill="none" fill-opacity="0" stroke="none" stroke-opacity="0" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" path="M 548,163 549,163 549,164 548,164 Z" d="M 548 163 549 163 549 164 548 164Z" transform="matrix(1.00000000,0.00000000,0.00000000,1.00000000,0.00000000,0.00000000)" data-unique-value="LIBRARY"></path>

  1. определите, насколько подробно вы должны быть в разбивке классов и функций. Это стандартная организация css. Вам нужно стилизовать весь класс пространственных объектов? используйте атрибут className объекта. Вам нужно настроить таргетинг на все элементы определенного типа геометрии? используйте тип геометрии данных.
person Ryan    schedule 13.12.2016