Immagine invece di un perno di default nel quadro MapKit di iPhone?
-
18-09-2019 - |
Domanda
E 'possibile avere la nostra immagine al posto del PIN predefinito in MapKit mappa su iPhone?
Sto lavorando su un programma che avrebbe mostrato le posizioni degli amici molto simile a Google Latitude e la necessità di mostrare l'immagine di amici presso le loro sedi.
E 'possibile utilizzare il codice JavaScript di Google Map, ma io voglio sapere se qualcuno può dare alcuni esempi di codice per la mappa base MapKit.
Soluzione
Sì, è possibile. Per questo u have a utilizzare MKAnnotationView invece di MKPinAnnotationView. e non utilizzare proprietà annotation.animatesDrop.
Ecco il codice di esempio è possibile utilizzare nella viewForAnnotation,
annotation = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"try"];
annotation.canShowCallout = YES;
annotation.image = [UIImage imageNamed:@"image.png"];
return annotation;
Altri suggerimenti
È anche possibile impostare la cornice dell'immagine. Per questo nel codice qui sopra dobbiamo fare questo semplice modifiche.
UIImage *pinImage = [UIImage imageNamed:@"image.png"];
UIImageView *imageView = [[[UIImageView alloc] initWithImage:pinImage] autorelease];
imageView.frame = CGRectMake(-20, 0, 40, 30);
[annotation addSubview:imageView];
E dobbiamo commentare la riga
// annotation.image = [UIImage imageNamed:@"image.png"];
Utilizzando span property si può facilmente lo zoom al vostro bisogno
MKCoordinateSpan arco;
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];