Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Xamarin.Forms.Maps Namespace stellt eine Geocoder Klasse bereit, die zwischen Zeichenfolgenadressen und Breiten- und Längengradkoordinaten konvertiert, die in Position Objekten gespeichert sind. Weitere Informationen zur Position Struktur finden Sie unter Kartenposition und Entfernung.
Hinweis
Eine alternative Geocodierungs-API ist verfügbar in Xamarin.Essentials. Die Xamarin.EssentialsGeocoding API bietet strukturierte Adressdaten beim Geocodierungsadressen im Gegensatz zu den von dieser API zurückgegebenen Zeichenfolgen. Weitere Informationen finden Sie unter Xamarin.Essentials: Geocodierung.
Geocodieren einer Adresse
Eine Straße kann in Breiten- und Längengradkoordinaten geocodiert werden, indem eine Geocoder Instanz erstellt und die GetPositionsForAddressAsync Methode für die Geocoder Instanz aufgerufen wird:
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}";
Die GetPositionsForAddressAsync Methode verwendet ein string Argument, das die Adresse darstellt, und gibt asynchron eine Auflistung von Position Objekten zurück, die die Adresse darstellen können.
Umgekehrte Geocodierung einer Adresse
Breiten- und Längengradkoordinaten können geocodiert in eine Straßenadresse umgewandelt werden, indem eine Geocoder Instanz erstellt und die GetAddressesForPositionAsync Methode für die Geocoder Instanz aufgerufen wird:
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();
Die GetAddressesForPositionAsync Methode verwendet ein Position Argument, das aus Breiten- und Längengradkoordinaten besteht, und gibt asynchron eine Auflistung von Zeichenfolgen zurück, die die Adressen in der Nähe der Position darstellen.