Bild anstelle eines der Standard-PIN in iPhone MapKit Rahmen?

stimmen
6

Ist es möglich, unser eigenes Bild anstelle des Standardstift in MapKit Karte auf dem iPhone zu haben?

Ich arbeite an einer Anwendung, die den Standort von Freunden viel wie Google Latitude zeigen würde und müssen an ihren Standorten Bild von Freunden zeigen.

Es ist möglich, die JavaScript Google Map verwenden, aber ich möchte wissen, ob jemand einige Beispiel-Code für MapKit basierte Karte geben kann.

Veröffentlicht am 29/09/2009 um 15:15
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
14

Ja, es ist möglich. Dafür u haben MKAnnotationView statt MKPinAnnotationView zu verwenden. und verwenden Sie nicht annotation.animatesDrop Eigenschaft.

Hier sind der Beispielcode Sie in viewForAnnotation verwenden können,

    annotation = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"try"];
    annotation.canShowCallout = YES;

    annotation.image = [UIImage imageNamed:@"image.png"];


    return annotation;
Beantwortet am 29/09/2009 um 15:20
quelle vom benutzer

stimmen
2

Sie können auch den Rahmen des Bildes gesetzt. Für die in obigem Code müssen wir diese einfachen Änderungen vornehmen.

UIImage *pinImage = [UIImage imageNamed:@"image.png"];

UIImageView *imageView = [[[UIImageView alloc] initWithImage:pinImage] autorelease];

       imageView.frame = CGRectMake(-20, 0, 40, 30);

[annotation addSubview:imageView];

Und wir haben die Linie kommentieren

// annotation.image = [UIImage imageNamed:@"image.png"];
Beantwortet am 29/11/2010 um 07:38
quelle vom benutzer

stimmen
0

Durch die Verwendung von Span Eigenschaft können Sie leicht vergrößern Ihren require

MKCoordinateSpan Spannweite;

MKCoordinateRegion region;


mapView.scrollEnabled=YES;
span.latitudeDelta = 100.0;//more value you set your zoom level will increase
span.longitudeDelta =100.0;//more value you set your zoom level will increase
mapView.showsUserLocation=YES;
region.span = span;


region.center = from.coordinate;
  [mapView setRegion:region animated:YES];
 [mapView regionThatFits:region];
[mapView addAnnotation:from];
Beantwortet am 25/07/2013 um 08:39
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more