2009-07-20 4 views
0

J'écris une application iPhone qui contiendra une carte personnalisée - ma propre image pour la carte, pas Google. L'image n'est pas très grande, donc au lieu d'utiliser une bibliothèque comme RouteMe, j'opte juste pour un UIScrollView avec une image intégrée (la carte).Comment puis-je utiliser MKPinAnnotationView au-dessus d'un UIView standard (au lieu d'une carte)

Ma question est la suivante: est-il possible de réutiliser les classes MKPinAnnotationView d'Apple en plus de mon UIView personnalisé afin que les interactions de broches se ressemblent à MapKit? J'ai jusqu'ici trouvé comment ajouter une épingle à ma carte et la positionner, mais je n'arrive pas à comprendre comment laisser l'utilisateur interagir avec elle - c'est-à-dire faire apparaître la bulle de description.

Des pensées? Merci beaucoup.

+0

Comment avez-vous ajouté la broche à votre image? – Bryan

Répondre

0

Vous pourriez en faire un et utiliser l'ajout de sous-vue afin de l'afficher, nous aurons à faire un peu de travail pour l'afficher là où vous le voulez puisque les coordonnées que vous donnez sont destinées à travailler avec les mkmaps

0

Avez-vous regardé cette méthode de MKAnnotationView:

  • (void) setSelected: (BOOL) a choisi animé: (BOOL) animé

Il est la seule méthode qui est exposée publiquement peut montrer/cache la bulle de légende. En dehors de cela, vous devrez désosser les cours et commencer à fouiller.

Cependant, je recommande vivement contre l'ingénierie inverse des classes et en utilisant des méthodes qui ne sont pas publiquement exposées. Apple ne fait aucune promesse de maintenir la rétrocompatibilité et si elles découvrent que vous utilisez des méthodes privées, elles vont lancer votre application à partir du magasin.

BTW, la divulgation complète, ce sont les notes de documentation d'Apple pour setSelected: animation:

Discussion Vous ne devriez pas appeler cette méthode directement. Un objet MKMapView appelle cette méthode en réponse aux interactions de l'utilisateur avec l'annotation.

+0

Pouvons-nous en code provoquer l'appel à montrer? –

Questions connexes