GMSMapView рисовать пользовательскую полилинию в Swift - PullRequest
0 голосов
/ 06 июня 2018

Я сделал вид карты с помощью GMSMapView и хотел нарисовать ломаную линию одним касанием пальца.но эта функция застревает, потому что я не смог найти подходящую ссылку.

в моем примере, например, приложение домена результата, которое я хочу.

enter image description here

Спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 16 июня 2018

Это довольно большой и сложный вопрос, поэтому я опишу шаги, которые вы должны выполнить для его реализации.Если вам нужна помощь с конкретным шагом, я предлагаю вам опубликовать отдельный, конкретный вопрос.

Вот и мы:

  1. При нажатии кнопки «Режим рисования» добавьте вид над картой

    • Убедитесь, что этопредставление принимает все события касания, чтобы карта не прокручивалась, когда пользователь рисует
    • . Создайте подкласс этого представления и переопределите touchesBegan и touchesMoved, чтобы фактически выполнить рисование.Вы можете следовать этому уроку здесь .

    • Сохранить массив всех вершин многоугольника в системе координат представления.

  2. On touchesEnded (когда пользователь прекращает рисовать), конвертируйте точки сверху в координаты карты.
  3. Нарисуйте многоугольник из координат местоположения.
  4. Удалите тот вид, который вы добавили на шаге 1, и отключите режим рисования.

Если вам нужны разъяснения об этом процессе, не стесняйтесь спрашивать.

0 голосов
/ 14 июня 2018

Вы должны нарисовать линии, используя Quartz2D, так как этот вопрос довольно большой, я просто укажу вам хороший справочник.

https://www.raywenderlich.com/87899/make-simple-drawing-app-uikit-swift

здесь вы сможете понятькак рисовать на экране.

...