2013-10-25 81 views
4

使用適用於iOS的Google Maps SDK,是否可以檢測到點在Polygon內?如何使用Google Maps SDK for iOS檢測點在Polygon內部?

我在Google Maps JavaScript API中發現了containsLocation()函數,但是我在iOS SDK中找不到相同的函數。

你知道其他方法嗎?

+1

有在谷歌沒有提供直接的方法映射IOS SDK。你可以通過使用基於[早期回答]中提出的算法的數學計算來發現點是否在多邊形內部(http://stackoverflow.com/questions/19106556/get-location-address-wrt-the-polygon- i-am-in/19109375#19109375)。您可以在ios中使用相同的方法 –

+0

請提交[適用於iOS的Google地圖SDK的功能請求](https://code.google.com/p/gmaps-api-issues/issues/entry?template=Maps %20SDK%20for%20iOS%20-%20Feature%20Request)。 – Brett

回答

12

適用於iOS的Google Maps SDK現在包含一個名爲GMSGeometryContainsLocation的函數,它可以幫助您完成一行代碼。

if (GMSGeometryContainsLocation(yourPoint, pathOfPolygon, YES)) { 
    NSLog(@"YES: you are in this polygon."); 
} else { 
    NSLog(@"You do not appear to be in this polygon."); 
} 

來源:Google Maps for iOS - Reference - GMSGeometryUtils

0

轉換拉希德的回答SWIFT是微不足道:

if GMSGeometryContainsLocation(yourPoint, pathOfPolygon, true) { 
    print("YES: you are in this polygon.") 
} else { 
    print("You do not appear to be in this polygon.") 
} 
相關問題