Привет Я пытаюсь создать пользовательскую аннотацию в mapview. В mapview у меня есть несколько создателей контактов на карте, когда пользователь нажимает на контакт, я хочу отобразить текст и кнопку, поэтому попытался создать собственное представление аннотации, которое не работает.Пользовательский вид аннотации не отображается на карте
Мой код
#import <MapKit/MapKit.h>
#import <GoogleMaps/GoogleMaps.h>
@interface myviewcon : UIViewController<MKMapViewDelegate>
@property (strong, nonatomic) IBOutlet MKMapView *mpview;
@end
Мой MKPointAnnotation код в viewdidload
for (NSDictionary *dic in [jsonArray1 valueForKey:@"houses"]) {
MKPointAnnotation *annotation = [[MKPointAnnotation alloc]init];
NSString *name=[dic valueForKey:@"building_name"];
CLLocationCoordinate2D placeCoord;
placeCoord.latitude=[[dic objectForKey:@"lat"] doubleValue];
placeCoord.longitude=[[dic objectForKey:@"lng"] doubleValue];
[annotation setCoordinate:placeCoord];
[annotation setTitle:name];
[mpview addAnnotation:annotation];
}
И мой код пользовательского Annotaionview
- (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation{
MKAnnotationView *anview = nil;
UIButton *btnViewVenue = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
anview.rightCalloutAccessoryView=btnViewVenue;
anview.enabled = YES;
anview.canShowCallout = YES;
anview.multipleTouchEnabled = NO;
return anview;
}
Я использовал приведенный выше код, чтобы сделать customview, когда пользователь нажимает на создатель штыря на карте, я сделал вид с текстом и кнопками, я устал wi th, как это, но его не работает я проверил с точки останова, что делегат вызывает, но его не работает, пожалуйста, расскажите, как решить эту проблему.
Спасибо заранее.
Единственная проблема, кажется, что в viewForAnnotation вы не создаете anview. Он инициализирован нулем, поэтому настройка свойств на нем ничего не делает. – Anna