Fadielse
Fadielse

Reputation: 401

GMSMapView Draw Custom Polyline in Swift

I made a map view with GMSMapView and I wanted to draw a polyline according to the touch of a finger. but this feature makes me stuck because I have not been able to find the appropriate reference.

in my case example like the result domain app that I want.

enter image description here

Thank you for your help.

Upvotes: 7

Views: 1070

Answers (2)

Daniel
Daniel

Reputation: 3597

This is a pretty big, complicated question, so I will outline steps for you to follow to implement this. If you need help with a specific step, I suggest you post a separate, specific question.

Here we go:

  1. When the "draw mode" button is tapped, add a view above the map

    • Make sure this view takes all touch events so that the map does not scroll when the user draws
    • Subclass this view and override touchesBegan and touchesMoved to actually do the drawing. You can follow the tutorial here for that.

    • Keep an array of all vertices of the polygon in the view's coordinate system.

  2. On touchesEnded (when the user stops drawing), convert the points from above to map coordinates.
  3. Draw a polygon from the location coordinates.
  4. Remove that view you added in step 1 and turn off drawing mode.

If you need clarification about this process don't hesitate to ask.

Upvotes: 5

cheesey
cheesey

Reputation: 516

You should draw the lines using Quartz2D since this question is kind of large i'll just point you to a good reference.

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

here you should be able to figure out how to draw to the screen.

Upvotes: 2

Related Questions