Проверьте, находится ли GMSPolygon внутри другого GMSPolygon или нет

У меня много GMSPolygon внутри моей карты google. Теперь я хочу проверить один конкретный многоугольник, который находится внутри (полностью внутри) любого из других полигонов. Также необходимо выяснить, какие другие полигоны пересекаются с границами этого многоугольника, и другой многоугольник, который не пересекается ни внутри данного полигона, ни покрывает этот многоугольник.

Может ли кто-нибудь понять, как это сделать?

РЕДАКТИРОВАТЬ:

Я получил библиотеку / код, чтобы сделать то же самое для 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 } 

Вы можете использовать эту библиотеку:

http://sourceforge.net/projects/polyclipping/

видеть, какие другие полигоны пересекаются с границами вашего полигона

Interesting Posts
Давайте будем гением компьютера.