簡體   English   中英

OpenLayers 4如何檢測一個多邊形是否碰到另一個多邊形的側面

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM