iphone - ¿Cómo dibujar un MKPolyline en un MapView?
ios mkmapview (3)
Hecho.
Fue una cosa muy estúpida, no configuré el delegado para el MapView. Simplemente agregando [map setDelegate: self]; Hizo el truco.
¡Gracias de todos modos!.
Tengo una serie de puntos para dibujar en un mapa, ya está decodificado:
- (void) drawRoute:(NSArray *) path {
NSInteger numberOfSteps = path.count;
CLLocationCoordinate2D coordinates[numberOfSteps];
for (NSInteger index = 0; index < numberOfSteps; index++) {
CLLocation *location = [path objectAtIndex:index];
CLLocationCoordinate2D coordinate = location.coordinate;
coordinates[index] = coordinate;
}
MKPolyline *polyLine = [MKPolyline polylineWithCoordinates:coordinates count:numberOfSteps];
[map addOverlay:polyLine];
}
donde "map" es una instancia de MKMapView, y la ruta de la matriz que representa el conjunto de puntos ya decodificados.
Pensé que con la línea [map addOverlay:polyLine];
sería dibujado He visto en algunas páginas este método:
- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id <MKOverlay>)overlay {
MKPolylineView *polylineView = [[MKPolylineView alloc] initWithPolyline:overlay];
polylineView.strokeColor = [UIColor redColor];
polylineView.lineWidth = 1.0;
return polylineView;
}
¿Es el polylineView lo que realmente se dibuja en el mapa? También intenté pasar el MKPolyline (del método anterior) al argumento "superposición <MKOverlay>" de este último método, pero lanza una excepción.
Creo que estoy cerca, pero no sé qué hacer ahora.
¡Por favor ayuda! Muchas gracias por adelantado.
Simplemente cree MKPolyline con coordenadas y agregue esa línea de polilínea a la vista de mapa.
MKPolyline *polyLine = [MKPolyline polylineWithCoordinates:coordinates count:numberOfSteps];
[map addOverlay:polyLine];
Encontrará un tutorial here sobre cómo dibujar una polilínea sobre algunas coordenadas. Edición: la url ya no parece válida. Puedes encontrar la versión archivada de esta url here .
MKPolyline *polyline = [MKPolyline polylineWithCoordinates:coordinates count:self.allPins.count];
[self.mapView addOverlay:polyline];
Verifique este http://pinkstone.co.uk/how-to-draw-an-mkpolyline-on-a-map-view/ y para obtener más información http://rshankar.com/how-to-add-mapview-annotation-and-draw-polyline-in-swift/