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);

这段是init中的添加图层那段,在图层上显示的kml围出的区域,这部分在地图上可以正常显示。不知怎么才能让鼠标经过这个区域时让这个区域高亮显示啊,最好还可以点击。在网上找到了一些例子,但是修改之后加在这个后面还是不能显示,新手不是很了解,望指教。
下面这是找到的demo

function init(){
map = new OpenLayers.Map('map');

var vectors = new OpenLayers.Layer.Vector("vector", {isBaseLayer: true});
map.addLayers([vectors]);


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();

map.setCenter(new OpenLayers.LonLat(1, 0), 0);

}

这个demo单独运行就可以显示鼠标经过多边形区域时变色。
...全文
571 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
哈哈gogo 2019-07-14
  • 打赏
  • 举报
回复
我是在层上画线路,鼠标经过高亮同求大神
  • 打赏
  • 举报
回复
大神们呢,帮帮忙?

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧