2016-10-10 92 views
-1

有稱爲多邊形檢測的方法: containsLocation(點:經緯度,多邊形:多邊形)谷歌地圖API多邊形的多邊形,而不是指向多邊形碰撞

然而,這種檢查點(單個座標)在一個多邊形內,但我需要它來檢查一個多邊形是否在另一個多邊形內。

任何想法?

+1

檢查您的多邊形是否包含其他所有點? – geocodezip

+0

如果有兩個彼此相交的巨型矩形多邊形,但是多邊形內沒有任何點,該怎麼辦? 這是一個圖像,也許會有幫助嗎? http://imgur.com/a/trTLK 忽略紅色的,我是關於藍色的。 –

+0

然後它不會工作。我確信有地方的GIS軟件可以解決你的問題。 – geocodezip

回答

0

基本上@geocodezip說什麼。你不知道你是如何創建多邊形的,所以你可能不需要找出所有這些點。但它應該工作不管。

我得到你想檢查的多邊形的所有路徑。然後遍歷這些路徑,獲取所有點並將它們添加到數組中。然後遍歷該數組,檢查每個點是否落在另一個多邊形內。

var paths = polygon1.getPaths(); 
var points = []; 

paths.forEach(function(path) { 
    path.forEach(function(point) { 
     points.push(point); 
    }); 
}); 

for (var i = 0; i < points.length; i++) { 
    if (!google.maps.geometry.poly.containsLocation(points[i], polygon2)) { 
     alert('this point is not in the other polygon: ' + points[i].toString()); 
     break; 
    } 
} 
+0

如果有兩個相互相交的巨型矩形多邊形,但沒有任何點在多邊形?這是一張圖片,可能會有幫助嗎? http://imgur.com/a/trTLK忽略紅色的,我正在談論藍色的。 –