Для моего текущего картографического приложения мне необходимы следующие функции Google Map iOS SDK.
- Пользователь выберет источник и назначение.
- Пользователь нанесет на карту несколько поворотных точек, чтобы добраться от источника до пункта назначения.
- Пользователь также предоставит ширину в метрах.
- Теперь, используя эти поворотные точки и ширину, мне нужно создать зону, как указано в следующем наброске, сделанном вручную.
Я попытался создать многоугольник, используя GMSMutablePath. Пользователь также мог перетаскивать каждый маркер, изменять размер и положение зоны.
Я также пытался понять Создать полый многоугольник но не смог найти способ сгенерировать закодированную строку для использования в следующем примере кода.
let hydePark = "tpwmEkd|y[QVe@Pk@BsHe@mGc@iNaAKMaBIYIq@qAMo@Eo@@[Fe@DoALu@HUb@c@XUZS^ELGxOhAd@@ZB`@J^BhFRlBN\\BZ@`AFrATAJAR?rAE\\C~BIpD"
let archibaldFountain = "tlvmEqq|y[NNCXSJQOB[TI"
let reflectionPool = "bewmEwk|y[Dm@zAPEj@{AO"
let polygon = GMSPolygon()
polygon.path = GMSPath(fromEncodedPath: hydePark)
polygon.holes = [GMSPath(fromEncodedPath: archibaldFountain)!, GMSPath(fromEncodedPath: reflectionPool)!]
В моем исследовательском проекте пользователь указывал координату местоположения, которая мне не нужна. Вместо этого пользователь просто нанесет поворотные точки на карты и укажет ширину, и зона будет рассчитана автоматически.
Есть ли какие-либо существующие функции из SDK GoogleMaps для достижения этой цели? Или мне нужно выполнить сложный геометрический расчет, чтобы нарисовать зону?