我试图效仿这个例子: http://openlayers.org/dev/examples/SLDSelect.html
当我点击这个点时,它的颜色应该改变,这是我的一段代码:
control = new OpenLayers.Control.SLDSelect(
OpenLayers.Handler.Click,
{
//displayClass: 'olControlClick',
layers: [city]
}
)
map.addControl(control);
control.activate();
仍然无法弄清displayClass
的重点。以及如何分配新颜色。
答案 0 :(得分:2)
displayClass是SLDSelect控件处于活动状态时使用的css类。要使用它并查看正在修改的html元素,请尝试像下面这样设置类:
.olControlClick {
cursor: crosshair;
background-color: yellow;
border: 5px solid green;
}
刷新浏览器页面时,可能在图层渲染时看到黄色背景的闪光,你会看到一个十字光标,你会看到div上的绿色大边框使用css类。
当SLDSelect控件处于活动状态时,使用此选项修改map div的特征。
您可以通过在SLDSelect控件上调用activate()和deactivate()来解决此问题。当控件未激活时(在调用deactivate()之后),您将看不到css样式的工件(没有绿色边框,没有十字光标)。当控件处于活动状态时,您将看到这两个样式属性(边框和光标)。
This example可能很有用,请务必查看来源以查看javascript。