openlayers修改样式_Openlayers怎么实现鼠标经过显示这种样式

本文介绍如何在OpenLayers中实现鼠标经过时改变图层元素的样式。通过在创建图层时设置styleMap,定义default和select两种样式,并在feature事件中切换渲染意图,使用drawFeature进行重绘。示例代码详细展示了如何实现这一功能。
摘要由CSDN通过智能技术生成

展开全部

openlayers的example下的feature-events是样32313133353236313431303231363533e59b9ee7ad9431333337373732例 首先在创建图层的时候传入styleMap 当然里面定义了default 和select 的样式 ,然后在feature的事件中 选择它的渲染样式 重绘。

e.feature.renderIntent = "select";  //渲染样式

e.feature.layer.drawFeature(e.feature)  //重绘

var layerListeners = {

featureover: function(e) {

e.feature.renderIntent = "select";

e.feature.layer.drawFeature(e.feature);

log("Map says: Pointer entered " + e.feature.id + " on " + e.feature.layer.name);

},

featureout: function(e) {

e.feature.renderIntent = "default";

e.feature.layer.drawFeature(e.feature);

log("Map says: Pointer left " + e.feature.id + " on " + e.feature.layer.name);

}

};

var style = new OpenLayers.StyleMap({

'default': OpenLayers.Util.applyDefaults({

label: "${l}",

pointRadius: 10

},

OpenLayers.Feature.Vector.style["default"]

),

'select': OpenLayers.Util.applyDefaults({

pointRadius: 10

},

OpenLayers.Feature.Vector.style.select

)

});

var layer1 = new OpenLayers.Layer.Vector("Layer 1", {

styleMap: style,

eventListeners: layerListeners

});

layer1.addFeatures([

new OpenLayers.Feature.Vector(OpenLayers.Geometry.fromWKT("POINT(-1 -1)"), {

l: 1

}),

new OpenLayers.Feature.Vector(OpenLayers.Geometry.fromWKT("POINT(1 1)"), {

l: 1

})

]);

var layer2 = new OpenLayers.Layer.Vector("Layer 2", {

styleMap: style,

eventListeners: layerListeners

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值