comment puis-je montrer boussole/rubrique sur mapkit mapview
sur l'iPhone 3GS dans les "Cartes" de l'app, vous pouvez cliquer sur l'icône qui montre votre position à deux reprises et le point bleu gains de ce qui ressemble à un faisceau d'un phare, fondamentalement, vous montrant le sens de la marche sur la carte et la rotation de l'image en conséquence.
Cette option est disponible à l'aide de MapKit MapView ?
Je suis sais que je peux obtenir ma tête avec quelque chose comme
- (void)locationManager:(CLLocationManager *) manager didUpdateHeading:(CLHeading *) newHeading {
//Si la précision n'est valide, le processus de l'événement.
if (newHeading.headingAccuracy > 0) {
CLLocationDirection theHeading = newHeading.magneticHeading;
...
}
}
mais je ne sais pas comment faire pour obtenir de nice phare effet dans Mapkit et il ne semble pas être de toute documentation.
Des idées?
c'est une bonne id de question aussi de savoir la réponse
Je pense que la réponse est qu'il ne peut pas être fait à l'aide de MapKit. Je me demande comment des applications comme le Géocaching fait cela? Ou, plutôt, si c'est beaucoup de travail rouler votre propre vue de la carte.
Peut être fait à l'aide de l'auto.mapView.userTrackingMode = RMUserTrackingModeFollowWithHeading;
Je pense que la réponse est qu'il ne peut pas être fait à l'aide de MapKit. Je me demande comment des applications comme le Géocaching fait cela? Ou, plutôt, si c'est beaucoup de travail rouler votre propre vue de la carte.
Peut être fait à l'aide de l'auto.mapView.userTrackingMode = RMUserTrackingModeFollowWithHeading;
OriginalL'auteur Erik Carlson | 2010-06-12
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé une solution:
Je faire pivoter la carte en utilisant le titre de l'information avec
Donc la "poutre" en pointe toujours vers le haut de l'appareil. Je vient de l'affichage d'une ImageView sur le dessus de la carte et de le changer de position dans locationManager:didUpdateToLocation:fromLocation:
Lequel frameTop et frameHeight sont des raccourcis pour l'image.de l'origine.y et le cadre.taille.hauteur de.
Il n'est pas idéal et manque parfois un peu lorsque le point change de position, mais je suis heureux avec la solution b/c il fonctionne.
Jeter un oeil à mon OpenSource cadre MTLocation qui fait cela tous (et beaucoup d'autres cool liée aux cartes de trucs pour vous):
MTLocation
OriginalL'auteur myell0w
La rotation de la logique de l'autre les réponses sont bonnes, cependant, en s'appuyant sur l'emplacement de gestionnaire délégué méthodes ne se traduira pas par une bonne solution. Le "faisceau" de l'image sera rarement au même endroit que le point bleu et rebondissent autour d'un lot.
La meilleure solution est d'obtenir une référence vers le bleu point de vue, et d'ajouter le "faisceau" de l'image comme une sous-vue. Je suis allé avec un faisceau image qui était un carré, avec le faisceau supérieur et de la transparence tout autour d'elle. Imaginez le point bleu dans le centre de l'image.
d'où appelez-vous addViewportToUserLocationAnnotationview méthode?
Mise à jour: didAddAnnotationViews n'est pas appelé pour me sur l'appareil, mais est appelée sur simulateur et votre solution fonctionne parfaitement sur simulateur. avez-vous une idée pourquoi?
Je n'ai pas regardé ce code depuis iOS 5 est sorti, le mien semble toujours être en travail, mais il pourrait y avoir quelques légères différences. Êtes-vous des tests sur les différentes versions iOS entre l'appareil et les simulateurs?
OriginalL'auteur Jared Egan
L'ajout de l'utilisateur en mode de suivi permet également. Je sais je suis en retard, mais éventuellement une aide à d'autres développeurs comme moi: -)
OriginalL'auteur ScarletWitch
Swift 3 mise en œuvre
OriginalL'auteur Johan Tingbacke
J'ai pu penser une seule méthode, même si je n'ai pas mis en œuvre, mais peut vous aider un peu.
didUpdateHeading
utiliser les valeurs x et y pour calculer l'angle de la direction.Veuillez poster vos suggestions/changements pour l'approche ci-dessus.
OriginalL'auteur RVN