как я могу разместить два цветных вывода? 1 красным и 1 зеленым?

#iphone #google-maps #mapkit #mkmapview #mkannotation

#iPhone #google-карты #mapkit #mkmapview #mkannotation

Вопрос:

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

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

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

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

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

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

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

Ответ №1:

 - (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: вместо == .