Passer des données à la fenêtre detravail lorsque l'annotation tapé sur mapview
J'ai une vue de la carte et il y a 10 magasins qui des données via un webservice. Je veux juste pousser mon détail pour afficher l'adresse, le téléphone et d'autres informations de l'cliqué magasin.
J'ai besoin de passer des données à mon detailview
lorsque l'utilisateur a tapé ou faire des retouches à l'intérieur d'une annotation sur mapkit. Il y a 10 annotations dans mon mapview
et d'abord, je veux savoir, comment puis-je comprendre ou comment puis-je obtenir le annotationID dont l'annotation est cliqué?
c'est la méthode que j'ai repères de retour
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation
{
if ([annotation isKindOfClass:[MKUserLocation class]]) return nil;
static NSString* AnnotationIdentifier = @"AnnotationIdentifier";
MKPinAnnotationView* pinView = [[MKPinAnnotationView alloc]initWithAnnotation:annotation reuseIdentifier:AnnotationIdentifier];
pinView.animatesDrop=YES;
pinView.canShowCallout=YES;
pinView.pinColor=MKPinAnnotationColorPurple;
UIButton* rightButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[rightButton setTitle:annotation.title forState:UIControlStateNormal];
[rightButton addTarget:self
action:@selector(showDetails:)
forControlEvents:UIControlEventTouchUpInside];
pinView.rightCalloutAccessoryView = rightButton;
return pinView;
}
/* and my action method for clicked or tapped annotation: */
- (IBAction)showDetails:(id)sender{
NSLog(@"Annotation Click");
[[mtMap selectedAnnotations]objectAtIndex:0];
magazaDetayViewController *detail = [[magazaDetayViewController
alloc]initWithNibName:@"magazaDetayViewController" bundle:nil];
detail.sehir=@"";
detail.magazaAdi=@"";
detail.adres=@"";
detail.telefon=@"";
detail.fax=@"";
[self.navigationController pushViewController:detail animated:YES];
}
si je peux obtenir sur lequel vous avez cliqué annotation index non, je peux remplir propriétés des détails avec mon tableau.
si cela est impossible, est-il un autre moyen de le faire?
OriginalL'auteur ercan | 2012-05-22
Vous devez vous connecter pour publier un commentaire.
En premier dans votre annotaion vue delegat faire un bouton pour passer en mode affichage des détails comme ci-dessous:
Maintenant utiliser le délégué suivant à chaque fois que le bouton annotationView aurez tapé le délégué suivant sera appelé à partir d'où vous pouvez facilement obtenir qui particulier annotaion du bouton est tapé
ici annotaion est une classe de l'importation de MKAnnotaion.h et l'adresse et le numéro de téléphone sont des propriétés de annotaion classe, vous pouvez faire beaucoup plus de bien que l'adresse et le numéro de téléphone, les propriétés de la fenêtre detravail classe sont forts. De sorte que vous pouvez transmettre des valeurs. Espérons que cela vous aidera!
comment en êtes-vous de vos annotations sur la carte?
dans ma méthode viewdidload for(int i=0; i<[arrLat count];i++) {CLLocationCoordinate2D theCoordinate1; konumpin* myAnnotation1=[[konumpin alloc] init]; theCoordinate1.latitude = [[arrLong objectAtIndex:i] doubleValue]; theCoordinate1.longitude = [[arrLat objectAtIndex:i] doubleValue]; myAnnotation1.coordonner=theCoordinate1; myAnnotation1.titre=[arrMagaza objectAtIndex:i]; [annotations addObject:myAnnotation1]; } [mtMap addAnnotations:les annotations];
votre konumpin classe est mon annotation classe maintenant que vous avez défini NSString titre dans konumpin classe comme qui fixe un certain nombre de plus NSString lequel vous souhaitez afficher dans votre description de la classe ex NSString *numéro de téléphone, et de le faire bien comme titre. maintenant importer votre konumpin classe dans la description de votre classe et en faire un objet de la liste et définissez la propriété pour elle @property (nonatomic, fort) konumpin *descriptionAnnote; maintenant, dans le ci-dessus délégué faire l'objet de la description de la classe et puis faire ce descriptionClass.descriptionAnnote = vue.annotation; cela va passer vos annotion dont le bouton est cliqué pour votre
description de la classe. si vous voulez je peux vous envoyer un projet de démonstration donnez-moi votre e-mail id
OriginalL'auteur superGokuN
Soufflet est Délégué méthode de
MapView
......lorsque l'utilisateur appuyez sur l'annotation des broches au-dessus de l'appel de la méthode automatique si la méthode définir .m fichier écrou d'abord déclarer
MKMapViewDelegate
délégué .h fichieret vous pouvez obtenir le titre ou le sous-titre et l'id de la place google API....
le lien est...
https://developers.google.com/maps/documentation/places/
assurez-vous mec,mithin.dans/2009/06/22/... ce lien n'retour subtite et le titre sur ce lien, mais vous pouvez utiliser au-dessus de délégué méthode insted d'afficher le titre et les sous-titres...
OriginalL'auteur Paras Joshi
OriginalL'auteur oscar castellon