Meine Karte zeigt einen Stift an einem bestimmten Ort, aber es zeigt nicht den StiftDie Pin funktioniert nicht
Hier ist der Code
WadiRumViewControllerJordan.h
#import <UIKit/UIKit.h>
#include <MapKit/MapKit.h>
@interface WadiRumViewControllerJordan : UIViewController
@property (strong, nonatomic) IBOutlet MKMapView *WadiRumMapView;
@end
WadiRumViewControllerJordan.m
#import "WadiRumViewControllerJordan.h"
#import "WadiRumNSOjectPIN.h"
@interface WadiRumViewControllerJordan()
@end
//Wadi Rum Coordinates
#define WadiRum_Latitude 29.537355
#define WidiRum_longtitude 35.415026
//Wadi Rum Span
#define WadiRumSpan 0.01f;
@implementation WadiRumViewControllerJordan
@synthesize WadiRumMapView;
- (void)viewDidLoad {
[super viewDidLoad];
//Create WadiRum Region
MKCoordinateRegion WadiRumRegion;
//Center
CLLocationCoordinate2D center;
center.latitude = WadiRum_Latitude;
center.longitude = WidiRum_longtitude;
//Span
MKCoordinateSpan span;
span.latitudeDelta = WadiRum_Latitude;
span.longitudeDelta = WidiRum_longtitude;
WadiRumRegion.center = center;
WadiRumRegion.span = span;
//Set our map
[WadiRumMapView setRegion:WadiRumRegion animated:YES];
//WadiRumNSObjectPIN
//1. Create a coordinate for the use of WadiRum
CLLocationCoordinate2D WadiRumLocation;
WadiRumLocation.latitude = WadiRum_Latitude;
WadiRumLocation.longitude = WidiRum_longtitude;
WadiRumNSOjectPIN * WadiRumAnnitation = [[WadiRumNSOjectPIN alloc] init];
WadiRumAnnitation.coordinate = WadiRumLocation;
WadiRumAnnitation.title = @"Services";
WadiRumAnnitation.subtitle = @"Desert";
{[self.WadiRumMapView addAnnotation:WadiRumAnnitation];
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be WadiRumNSOjectPIN
}
@end
WadiRumNSOjectPIN.h
#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
@interface WadiRumNSOjectPIN : NSObject <MKAnnotation>
@property(nonatomic, assign) CLLocationCoordinate2D coordinate;
@property(nonatomic, copy) NSString * title;
@property(nonatomic, copy) NSString * subtitle;
@end
WadiRumNSOjectPIN.m
#import "WadiRumNSOjectPIN.h"
@implementation WadiRumNSOjectPIN
@synthesize coordinate;
- (id)initWithLocation:(CLLocationCoordinate2D)coord {
self = [super init];
if (self) {
coordinate = coord;
}
return self;
}
@synthesize coordinate, title, subtitle;
@end
ich der obige Code bearbeitet zu machen, genau wie das, was ich will, habe ich diesen Fehler im Bild unten
Ich bin verwirrt, "meine Karte zeigt einen Stift an einem bestimmten Ort, aber es zeigt nicht die Pin". Zeigt es also eine Nadel oder nicht? Haben Sie die Delegate-Methode implementiert, um eine MKPinAnnotationView hinzuzufügen? –
@JoshHamet - Auch ohne den Delegaten anzugeben, würde er das Standardverhalten sehen, dass der Pin mit Standard-Callout-Verhalten angezeigt wird. – Rob
Roa, Sie haben eine Zeile mit der Angabe '[ttNSOjectPIN alloc];'. Stellen Sie sicher, dass Sie immer 'init' aufrufen, z. '[[ttNSOjectPIN alloc] init];'. – Rob