2014-02-09 24 views
1

我有一個融合表,裏面填充了地址,而不是經緯度座標。 Google爲我完成了地理編碼,因此我無法訪問經過地理編碼的數據。這個融合表是我的地圖上的一個圖層,它顯示每個地址的標記。從多邊形內的融合表查找標記

我正在使用DrawingManager來允許用戶繪製一個多邊形。一旦多邊形完成(即在polygoncomplete回調中),我希望能夠確定融合表中的哪些標記位於多邊形內。

如果我有權訪問座標,那麼我可以用ST_INTERSECTS做到這一點,但我無法訪問它。由於Google已經對其進行了地理編碼,因此我沒有看到使用地理編碼API進行其他查詢以獲取座標的原因。

那麼有沒有一種方法可以確定融合表中的哪些標記位於多邊形內?

回答

1

當你與ST_INTERSECTS意味着FusionTablesAPI的功能:

你不需要的座標,當特定的列被標記爲定位柱並已地理編碼的您可以在查詢中使用此列(即使你有座標,當你使用API​​時他們也不會對你有所幫助,因爲ST_INTERSECTS需要列名,而不是幾何圖形)。

的問題是另一種:在FusionTablesAPI支持的幾何ST_INTERSECTSCIRCLERECTANGLE

所以答案是:沒有

+0

感謝澄清'ST_INTERSECTS'。根據[這個答案](http://stackoverflow.com/questions/6522484/google-maps-v3-check-if-point-exists-in-polygon)有一種方法來找到一個多邊形內的點使用射線鑄件。所以我想沒有辦法直接使用地理編碼API來做我想做的事,對嗎? –

+1

地理編碼API只能對地址進行地理編碼,僅此而已。當您想通過使用Javascript-API使用[google.maps.geometry.poly.containsLocation()](https://developers.google.com/maps/documentation/javascript/reference?hl=zh-CN&csw=1 #poly) –

+1

如果您不希望獲得很多點結果,則可以創建一個包含多邊形邊界框的矩形,將其與st_intersects一起使用,然後使用客戶端上多邊形測試中的一個點過濾出誤報(如上面評論中提到的那樣) – jlivni