Openlayers怎么实现鼠标经过显示这种样式

 我来答
百度网友69b6d0b
推荐于2020-03-16 · TA获得超过206个赞
知道小有建树答主
回答量:121
采纳率:0%
帮助的人:109万
展开全部

openlayers的example下的feature-events是样例 首先在创建图层的时候传入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

});

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式