投篮不准的程序员不是一个好车手 2017-09-20 14:17 采纳率: 0%
浏览 2904
已结题

OpenLayers2在图层中添加鼠标经过高亮

 var bayuquan = new OpenLayers.Layer.Vector("KML_bayuquan", {//加载鲅鱼圈区边界
                projection: map.displayProjection,
                isBaseLayer: false,
                styleMap: new OpenLayers.StyleMap({
                pointRadius: 3,
                fillColor: "white",
                strokeColor: "black",
                strokeWidth: 1
                }),
                strategies: [new OpenLayers.Strategy.Fixed()],
                protocol: new OpenLayers.Protocol.HTTP({
                url: "kml/byq.kml",
                format: new OpenLayers.Format.KML({
                extractStyles: true, 
                extractAttributes: true,
                maxDepth: 2
                })
                })
                });

                map.addLayer(bayuquan);

这是在bayuquan这个图层上用kml在地图上显示边界线,在地图上可以正常显示出,怎么才能让鼠标经过这个区域时这个区域阴影一下或变色一下呢,在网上看了一些demo试了试还是弄不出来,新手不是很熟练,求指教

下面这个是找到的一个显示多边形区域的demo,改一改放到上面的代码后面为什么不好用呢。

 var feature2 = new OpenLayers.Feature.Vector(
                OpenLayers.Geometry.fromWKT(
                    "POLYGON((-120.828125 -50.3515625, -80.1875 -80.0078125, -40.40625 -20.4140625, -120.828125 -50.3515625))"
                )
            );
            vectors.addFeatures([feature2]);

            var report = function(e) {
                OpenLayers.Console.log(e.type, e.feature.id);
            };

            var highlightCtrl = new OpenLayers.Control.SelectFeature(vectors, {
                hover: true,
                highlightOnly: true,
                renderIntent: "temporary",
                eventListeners: {
                    beforefeaturehighlighted: report,
                    featurehighlighted: report,
                    featureunhighlighted: report
                }
            });

            var selectCtrl = new OpenLayers.Control.SelectFeature(vectors,
                {clickout: true}
            );

            map.addControl(highlightCtrl);
            map.addControl(selectCtrl);

            highlightCtrl.activate();
            selectCtrl.activate();
  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用