MKPolygon и его предки довольно упрощены. Самое простое, что вы можете сделать с легкостью - это сделать большой mkpolygon и начать заполнять внутренние многоугольные «дыры» или кольца, чтобы создавать более сложные формы.
При этом, если вы говорите о реальной геометрической математике, объединениях, пересечениях и более сложных функциях, вы можете использовать гео-специфическую структуру (или рассматривать ваш lat / long как x / y double float и просто используйте обычные функции геометрии учебника для построения 2d polys)
У Майкла Вейсмана есть хорошая гео / ГИС-библиотека под названием ShapeKit , специально предназначенная для iOS. Он выступает в качестве внешнего интерфейса для GEOS и PROJ.4, двух чрезвычайно мощных библиотек. Это, вероятно, ваша лучшая, самая безопасная ставка.
Другой вариант, который вы, возможно, захотите изучить, если вам не нужно вычислять полигоны на устройстве, ... обслуживайте свои полигоны с сервера баз данных на базе ГИС. У меня есть несколько модификаций для shapekit, которые позволяют вам импортировать двоичные многоугольники WKB из mysql или откуда-то еще ... У вас есть быстрые мощные функции для разгрузки мощности при необходимости. Или вы можете даже перенести их прямо из шейп-файла Esri в iOS, если вы туда пришли ... Я сделал доказательство концепции этого также на GitHub.