Reputation: 13085
I'm trying to figure out how to draw a path with MapKit given an array of location (lat/long) points. I think I need to use MKPolyline and MKOverlayRenderer. I can only seem to find information on MKRoute and MKDirections, but this is not what I need.
To start with I will have one point. Every 10 seconds or so another point will be added. How can I draw a line on a map in real time given an array of points, where the array grows over time?
This is all I have so far:
- (MKOverlayRenderer *)mapView:(MKMapView *)mapView rendererForOverlay:(id<MKOverlay>)overlay {
if ([overlay isKindOfClass:[MKPolyline class]]) {
MKPolyline *route = overlay;
MKPolylineRenderer *routeRenderer = [[MKPolylineRenderer alloc] initWithPolyline:route];
routeRenderer.strokeColor = [UIColor blueColor];
return routeRenderer;
}
return nil;
}
Upvotes: 2
Views: 411
Reputation: 5128
You should be able to do this with MKPolyline
and MKPolylineRenderer
as you have, but also look into -[MKOverlayRenderer setNeedsDisplayInMapRect:]
and the associated conversion routines to translate MKMapRect
to CGRect
(if necessary) and you should be able to force a screen refresh upon receipt of new data.
Upvotes: 0