Gradient along MKPolyLineView ( MKPolylineRenderer )
Asked Answered
P

1

11

I'd like to apply a gradient on a polyline view depending on some conditions like speed. I was able to subclass MKPolyLineRenderer to draw with custom stroke and fill, but only with the same color along the path.

I saw other similar questions like : Draw segments from a circle or donut or On OSX, how do I gradient fill a path stroke? , but it is not exactly what I'd want. If I understand correctly, a path like below couldn't be filled with these methods. At least not treated as a whole.

enter image description here

A very similar question is Gradient Polyline with MapKit ios. But it adds an overlay for each segment between the points, which I think isn't too efficient.

Is this the only possible way ? ( I'd need to draw hundreds or maybe thousands of these segments ... ) How can this be achieved easily ?

Thanks

Phalangeal answered 27/11, 2013 at 16:4 Comment(0)
B
6

So the original answer is here https://mcmap.net/q/563446/-gradient-polyline-with-mapkit-ios

you can find the demo here https://github.com/wdanxna/GradientPolyline

and some improvement tips provided by @Templar is:

  • prepare the path directly in the init.
  • check also for CGRectContains, not only for intersection.

thanks man! :p

Bench answered 7/12, 2013 at 3:8 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.