Udostępnij za pośrednictwem


Xamarin.Forms Mapowanie geokodowania

Xamarin.Forms.Maps Przestrzeń nazw udostępnia klasęGeocoder, która konwertuje między adresami ciągów a współrzędnymi szerokości geograficznej i długości geograficznej przechowywanymi w Position obiektach. Aby uzyskać więcej informacji na temat Position struktury, zobacz Map Position and Distance (Położenie mapy i odległość).

Uwaga

Alternatywny interfejs API geokodowania jest dostępny w systemie Xamarin.Essentials. Interfejs Xamarin.EssentialsGeocoding API oferuje dane adresów strukturalnych podczas geokodowania adresów, w przeciwieństwie do ciągów zwracanych przez ten interfejs API. Aby uzyskać więcej informacji, zobacz Xamarin.Essentials: Geokodowanie.

Geokodowanie adresu

Adres ulicy może być geokodowany do współrzędnych szerokości i długości geograficznej, tworząc wystąpienie i wywołując metodę Geocoder w wystąpieniuGeocoder:GetPositionsForAddressAsync

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}";

Metoda GetPositionsForAddressAsync przyjmuje string argument reprezentujący adres, a asynchronicznie zwraca kolekcję Position obiektów, które mogą reprezentować adres.

Odwrotne geokodowanie adresu

Współrzędne geograficzne i współrzędne geograficzne mogą być odwrócone geokodowane na adres ulicy, tworząc Geocoder wystąpienie i wywołując GetAddressesForPositionAsync metodę w wystąpieniu 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();

Metoda GetAddressesForPositionAsync przyjmuje Position argument składający się ze współrzędnych szerokości i długości geograficznej, a asynchronicznie zwraca kolekcję ciągów reprezentujących adresy w pobliżu pozycji.