Teilen über


Xamarin.Forms Geocodierung zuordnen

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.