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

时间:2016-03-29 17:23:19

标签: javascript dojo esri

我使用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]));

在图形点击事件中,我希望在点击此标记时获得引用此符号的标记颜色。

1 个答案:

答案 0 :(得分:0)

您没有指定后面的颜色,因为可能有多种颜色,一种用于填充,另一种用于轮廓。但是我们假设你想要填充颜色。

我们还假设在'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
})

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