Xamarin.Forms Géocodage de carte
L’espace Xamarin.Forms.Maps
de noms fournit une Geocoder
classe, qui convertit entre les adresses de chaîne et les coordonnées de latitude et de longitude stockées dans Position
des objets. Pour plus d’informations sur le struct, consultez Position et distance de la Position
carte.
Remarque
Une autre API de géocodage est disponible dans Xamarin.Essentials. L’API Xamarin.EssentialsGeocoding
offre des données d’adresse structurées lors du géocodage, par opposition aux chaînes retournées par cette API. Pour plus d’informations, consultez Xamarin.Essentials: Géocodage.
Géocoder une adresse
Une adresse postale peut être géocodée en coordonnées de latitude et de longitude en créant une Geocoder
instance et en appelant la GetPositionsForAddressAsync
méthode sur l’instance Geocoder
:
using Xamarin.Forms.Maps;
// ...
Geocoder geoCoder = new Geocoder();
IEnumerable<Position> approximateLocations = await geoCoder.GetPositionsForAddressAsync("Pacific Ave, San Francisco, California");
Position position = approximateLocations.FirstOrDefault();
string coordinates = $"{position.Latitude}, {position.Longitude}";
La GetPositionsForAddressAsync
méthode prend un string
argument qui représente l’adresse et retourne de façon asynchrone une collection d’objets Position
pouvant représenter l’adresse.
Géocode inverse une adresse
Les coordonnées de latitude et de longitude peuvent être géocodées inverses dans une adresse postale en créant une Geocoder
instance et en appelant la GetAddressesForPositionAsync
méthode sur l’instance Geocoder
:
using Xamarin.Forms.Maps;
// ...
Geocoder geoCoder = new Geocoder();
Position position = new Position(37.8044866, -122.4324132);
IEnumerable<string> possibleAddresses = await geoCoder.GetAddressesForPositionAsync(position);
string address = possibleAddresses.FirstOrDefault();
La GetAddressesForPositionAsync
méthode prend un Position
argument composé de coordonnées de latitude et de longitude, et retourne de façon asynchrone une collection de chaînes qui représentent les adresses près de la position.