gpt4 book ai didi

ios - 检查 GMSPolygon 是否在其他 GMSPolygon 内部

转载 作者:行者123 更新时间:2023-12-01 11:22:37 26 4
gpt4 key购买 nike

我的谷歌地图中有许多 GMSPolygon。现在我想检查一个特定的多边形是否位于(完全位于)任何其他多边形内。还需要找出哪些其他多边形与该多边形的边界相交,以及其他既不相交、既不在给定多边形内部也不覆盖该多边形的多边形。

谁能知道如何做到这一点?

编辑:

我得到了库/代码来为 MKPolygon 做同样的事情,你可以在这里看到它:https://github.com/geeksweep/MKPolygon-GSPolygonIntersections

现在,我想我应该将整个 GMSPolygon 转换为 MKPolygon 并应用该库的代码以获得所需的结果。但我认为这不是这样做的正确方法。有没有人知道以非常简单的方式做到这一点。

最佳答案

在搜索了很多东西之后,我找到了一个解决方案,我认为这不太合适,但仍然比我找到的其他 3-4 个解决方案要好。如果有人找到更好的解决方案,请告诉我,如果我发现它们更好更合适,我会接受那个并且也会更改我的代码。现在,我使用以下代码来执行此操作。

GMSPath *path1=polygon1.path, *path2=polygon2.path;
BOOL flag1= NO;
BOOL flag2= NO;
for (int i=0; i<path1.count; i++)
{
if (GMSGeometryContainsLocation([path1 coordinateAtIndex:i], path2, YES)==false)
{
flag1 = true;
}

if (GMSGeometryIsLocationOnPath([path1 coordinateAtIndex:i], path2, YES)==true)
{
flag2 = true;
}
}

if (flag1==false)
{
NSLog(@"polygon1 is fully inside polygon2");
}
else if (flag2 == true)
{
NSLog(@"polygon1 intersects with polygon2");
}
else
{
//Do the above procedure again just by switching path1 and path2
//and at end you can find that is polygon2 is inside polygon1 or not,
//and if it is not, then this means both polygon1 and polygon2 are distinct
//then neither intersects, nor inside each other
}

关于ios - 检查 GMSPolygon 是否在其他 GMSPolygon 内部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36913472/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com