Создание зоны по маршруту с помощью Google map iOS SDK

Для моего текущего картографического приложения мне необходимы следующие функции Google Map iOS SDK.

  1. Пользователь выберет источник и назначение.
  2. Пользователь нанесет на карту несколько поворотных точек, чтобы добраться от источника до пункта назначения.
  3. Пользователь также предоставит ширину в метрах.
  4. Теперь, используя эти поворотные точки и ширину, мне нужно создать зону, как указано в следующем наброске, сделанном вручную.

введите здесь описание изображения

Я попытался создать многоугольник, используя 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 для достижения этой цели? Или мне нужно выполнить сложный геометрический расчет, чтобы нарисовать зону?


person Sauvik Dolui    schedule 06.04.2018    source источник


Ответы (1)


Что ж, я пытался сделать это, может быть, сложным способом, но проблема была сама по себе сложной.

Проверьте этот репозиторий.

введите здесь описание изображения

person Sauvik Dolui    schedule 08.08.2018