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