我有GMSPath
数组并且有坐标。我想找出这个坐标落入的路径。我能够找到这个位置所在的总多边形。 (使用此https://stackoverflow.com/a/38826411/2225439)在此步骤中,一切正常。
当一个关闭GMSPath
与另一个关闭的GMSPath
重叠并且坐标位于重叠区域时,会出现实际问题。根据我的要求,我必须从这两个中只获得一个GMSPath
,其面积小于另一个。
请参阅图片以便更好地理解。
答案 0 :(得分:2)
您可以使用Google地图iOS SDK GMSPolygon
中的以下方法找到GMSGeometryArea()
的区域,它提供给定多边形的区域。现在你有了区域,所以你可以比较不同的多边形并找到最里面的区域。
double GMSGeometryArea(GMSPath *path);
根据谷歌提供的说明
Returns the area of a geodesic polygon defined by |path| on Earth.
The "inside" of the polygon is defined as not containing the South pole.
If |path| is not closed, it is implicitly treated as a closed path nevertheless and the result is the same.
All coordinates of the path must be valid.
If any segment of the path is a pair of antipodal points, the result is undefined -- because two antipodal points do not form a unique great circle segment on the sphere.
The polygon must be simple (not self-overlapping) and may be concave.