[英]OpenLayers 4 how to detect if a polygon touches the side of another polygon
我想知道是否以及如何檢測到用戶正在繪制或繪制了重疊的多邊形或其他形狀。 我嘗試使用intersectsCoordinate時沒有運氣。 例如,用戶將繪制一個正方形,然后在第一個正方形內繪制一個圓形或另一個正方形。 如果在第一個正方形內繪制的形狀超出范圍或觸摸邊框,我需要知道。
您可以通過在Map上使用帶有pointermove
事件的Map.getFeaturesAtPixel
方法來檢測到它。 繪制時,該方法將在鼠標指針處返回所有特征。
map.on("pointermove", function(e) {
console.log(e.pixel);
var features = map.getFeaturesAtPixel(e.pixel);
if (features && features.length >= 3) {
// 3 => drawing cursor, line, other feature
alert("it's on");
}
});
從OL示例中檢查代碼筆
JSTS 對使用OpenLayers幾何圖形提供了很好的支持,並提供了廣泛的空間謂詞和操作,包括touches
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.