Comment obtenir l'emplacement actuel ou passer à l'emplacement actuel dans Xamarin.Forms.Map
Depuis la Carte montre déjà l'emplacement de l'utilisateur (avec IsShowingUser) je veux juste le zoom à cet emplacement. Est-ce possible ou dois-je l'obtenir l'emplacement sur chaque plate-forme, puisque je n'ai pas trouver n'importe quel objet de Géolocalisation. Seulement, le Géocodeur...
Ce n'est pas une commune cas d'utilisation de zoom pour les utilisateurs de position?
source d'informationauteur Matt
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin de faire appel
MoveToRegion
méthode avec le poste qui vous intéresse.Vous pouvez utiliser Geolocator Plugin pour Xamarin pour obtenir l'emplacement de PCL projet:
Centrer la carte sur votre position:
De Zoom de la carte sur sa position actuelle:
Ref: https://developer.xamarin.com/guides/xamarin-forms/working-with/maps/
Oui, il est. Pour iOS suffit d'utiliser la MKMapView
ShowUserLocation
propriété.D'Apple documentaire:
Source: https://developer.apple.com/library/ios/documentation/MapKit/Reference/MKMapView_Class/#//apple_ref/occ/instp/MKMapView/showsUserLocation
Alors, comment pouvez-vous le faire dans Xamarin?
Vous aurez besoin d'un custom moteur de rendu qui s'étend Xamarin Forms MapRenderer. Obtenir le natif de la carte et définir la ShowUserLocation true à la propriété.
Voici un exemple:
Également définir
nativeMap.SetUserTrackingMode(MKUserTrackingMode.Follow, true);
de suivre automatiquement l'utilisateur.Cela peut ne pas fonctionner lorsque la carte est initialisée, depuis iOS n'a pas pu obtenir la localisation de l'utilisateur encore. Donc, si vous avez besoin pour afficher la localisation de l'utilisateur lorsque la carte s'affiche, il suffit d'utiliser un Gestionnaire d'événements pour
MKUserLocationEventArgs
et l'utilisation de laDidUpdateUserLocation
événement. Vous pouvez le faire comme ceci:Ne pas oublier de faire radier l'enregistrement de cet événement. S'utilise d'habitude pour un initialiser le comportement. L'utilisateur doit être libre de se déplacer sur la carte comme il les aime.