Stworzyłem niestandardowe Adnotacja z następujących powodów:Adnotacja Obraz zastępuje RedPushPin gdy długie naciśnięcie na adnotacji
-(MKAnnotationView*)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation
{
MKPinAnnotationView *view = nil;
if (annotation != mapView.userLocation)
{
view = (MKPinAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:@"myAnnotationIdentifier"];
if (!view)
view = [[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:@"myAnnotationIdentifier"];
if (((CustomAnnotation *)annotation).annotationType == 1)
{
view.image = [UIImage imageNamed:@"type1.png"];
view.rightCalloutAccessoryView = nil;
view.canShowCallout = YES;
}
else
{
view.image = [UIImage imageNamed:@"type2.png"];
view.rightCalloutAccessoryView = nil;
view.canShowCallout = YES;
}
}
return view;
}
Problem: Po naciśnięciu użytkownika i przytrzymać przez 2 sekundy na każdym adnotacji obrazu (type1 lub type2) , Obraz zostaje zastąpiony przez Red PushPin (Domyślne dla iPhone MKPinAnnotationView).
Chcę uniknąć tego zamiennika. Jak mogę to zrobić?
Chciałem wiedzieć, czy mogę umieścić RedPushPin na MKAnnotationView czy nie? – Krishna
Ponieważ używasz własnego obrazu do widoku adnotacji, powinieneś użyć MKAnnotationView. Jednak tak, możesz mieć kilka adnotacji, które są MKAnnotationView, a niektóre są MKPinAnnotationView (nie ustawiaj na nich obrazu). Użyj oddzielnego identyfikatora ponownego użycia dla każdej klasy. – Anna
Dzięki Anna .... – Krishna