如何使用 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
我使用 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