如何使用 esri 和 javascript 从标记符号中获取颜色

How to get color from a marker symbol using esri and javascript

我使用 Esri 地图和 javascript,我设置了变量:

var pointSymbol = new esri.symbol.SimpleMarkerSymbol(
    esri.symbol.SimpleMarkerSymbol.STYLE_CIRCLE,
    15,
    new esri.symbol.SimpleLineSymbol(
        esri.symbol.SimpleLineSymbol.STYLE_SOLID,
        new dojo.Color([255, 255, 255]),
        2),
    new dojo.Color([47, 71, 122, 0.8]));

并且在图形点击事件中,当我点击这个标记时,我想获得引用这个符号的标记的颜色。

您没有指定要使用哪种颜色,因为可能有多种颜色,一种用于填充,一种用于轮廓。但假设您想要填充颜色。

我们还假设在 'fl' 对象中引用了要素图层,并且要素图层包含带有您上面提到的符号的图形。然后像这样的东西应该可以工作(虽然还没有测试)

fl.on('click', function(object){
   var graphic = object.graphic;
   if (!graphic) return;

   var symbol = graphic.symbol;
   if (!symbol) return;

   var color = symbol.color; // This is the object with a,r,g,b properties
})

以上还取决于javascriptAPI的版本,因为早期版本传递给事件回调的对象曾经直接是一个图形对象,而对于较新的版本它是包含被单击图形的事件对象。请查阅 esri javascript api 文档 here