在地图上,我画了一个多边形,当我点击多边形的边界时,我想弹出一些信息。 您是否有任何解决方案可以强制选择边界?
var featureContext = new ol.Feature({
geometry: new ol.geom.Polygon([polyCoords])
})
featureContext.setStyle(
new ol.style.Style({
stroke: new ol.style.Stroke({
color: context[cc].displayColor,
width: 3
})
})
);
var layerContext = new ol.layer.Vector({
source: new ol.source.Vector({
features: [featureContext]
})
});
map.addLayer(layerContext);
我现在所做的:
map.on('singleclick', function(evt) {
if (evt.dragging) {
return;
}
var feature = map.forEachFeatureAtPixel(map.getEventPixel(evt.originalEvent), function(feature) {
return feature;
});
if (feature) {
popUp(feature);
}
});
但是这会选择多边形上的所有内容(区域等)和多边形中的弹出信息。
感谢您的帮助。
答案 0 :(得分:0)
不是最佳但是如果您将边界绘制为一条线(除了多边形)并且只接受特征是一条线?还要在指向多边形的线属性中添加一个id。 必须有一些更好的方法......但如果你只有一些小的多边形,这是可以的。