Как я могу разместить две цветные булавки? 1 красным и 1 зеленым? - PullRequest
0 голосов
/ 27 апреля 2011

Я использую этот пример приложения для создания маршрута

http://blog.kadirpekel.com/2010/05/30/drawing_routes_onto_mkmapview_using_unofficial_google_maps_directions_api/

Он вызовет API маршрутизации и проанализирует результат.

Затем над картой добавляется новый слой с маршрутом между А и В.

Моя проблема в том, как разместить два цветных булавки? Прямо сейчас это показывает 2 красных цветных булавки. Но мне нужно 1 красный и 1 зеленый.

Я пытаюсь работать с этим делегатом, но это не помогает мне

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation

1 Ответ

1 голос
/ 27 апреля 2011
- (MKAnnotationView *)mapView:(MKMapView *)mapView 
            viewForAnnotation:(id <MKAnnotation>)annotation {

    if(annotation == yourFirstAnnotation)
{
MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:yourFirstAnnotation reuseIdentifier:[annotation title]];
            annView.pinColor = MKPinAnnotationColorRed;
            annView.animatesDrop=NO;
            annView.canShowCallout = YES;
            return [annView autorelease];
}
else
if(annotation == yourSecondAnnotation)
{
MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:yourSecondAnnotation reuseIdentifier:[annotation title]];
            annView.pinColor = MKPinAnnotationColorGreen;
            annView.animatesDrop=NO;
            annView.canShowCallout = YES;
            return [annView autorelease];
}
}

Я думаю, если это не сработает, используйте isEqual: вместо ==.

...