iPhone - установите MKPolylineView lineDashPattern для анимации

Я пытался работать над приложением, используя MapKit и MKPolyline. Я получил аннотации и пути, нарисованные на карте, однако я пытаюсь изменить lineDashPattern, чтобы он представлял собой набор анимированных штрихов в направлении курса. Я знаю, что lineDashPhase и lineDashPattern вместе дают вам пунктирную линию, и чем больше вы увеличиваете lineDashPhase, тем больше двигаются тире, однако есть способ увеличить значения таким образом, чтобы казалось, что он движется, вроде как муравьи вдоль линии, я думаю, это хорошая аналогия.

- (MKOverlayView *)mapView:(MKMapView *)mapView viewForOverlay:(id)overlay
{
    MKOverlayView* overlayView = nil;

    if(overlay == self.routeLine)
    {
        //if we have not yet created an overlay view for this overlay, create it now.
        if(self.routeLineView == nil)
        {
            self.routeLineView = [[[MKPolylineView alloc] initWithPolyline:self.routeLine] autorelease];
            self.routeLineView.lineWidth = 5;
            self.routeLineView.lineDashPhase = 15;
            NSArray* array = [NSArray arrayWithObjects:[NSNumber numberWithInt:20], [NSNumber numberWithInt:20], nil];  
            self.routeLineView.lineDashPattern = array;
        }

        overlayView = self.routeLineView;

    }

    return overlayView;

}

Это прямо сейчас дайте мне пунктирные линии. Я знаю, что есть аналогичная тема здесь, однако я не уверен, как это сделать это. Любой вклад будет принят с благодарностью!


person Alex Muller    schedule 30.09.2011    source источник


Ответы (1)


Я знаю, что это довольно старый вопрос, но я только что реализовал аналогичное решение и опубликовал его здесь.

person EsbenB    schedule 05.07.2012