Bagikan melalui


Xamarin.Forms Geocoding Peta

Namespace Xamarin.Forms.Maps menyediakan Geocoder kelas, yang mengonversi antara alamat string dan koordinat lintang dan bujur yang disimpan dalam Position objek. Untuk informasi selengkapnya tentang Position struktur, lihat Posisi dan Jarak Peta.

Catatan

API geocoding alternatif tersedia di Xamarin.Essentials. Xamarin.EssentialsGeocoding API menawarkan data alamat terstruktur saat alamat geocoding, dibandingkan dengan string yang dikembalikan oleh API ini. Untuk informasi selengkapnya, lihat Xamarin.Essentials: Geocoding.

Geocode alamat

Alamat jalan dapat dikodekan secara geografis ke dalam koordinat lintang dan bujur dengan membuat Geocoder instans dan memanggil GetPositionsForAddressAsync metode pada Geocoder instans:

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

Metode mengambil GetPositionsForAddressAsyncstring argumen yang mewakili alamat, dan secara asinkron mengembalikan kumpulan Position objek yang dapat mewakili alamat.

Membalikkan geocode alamat

Koordinat garis lintang dan garis bujur dapat di-reverse geocoded menjadi alamat jalan dengan membuat Geocoder instans dan memanggil GetAddressesForPositionAsync metode pada Geocoder instans:

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();

Metode ini GetAddressesForPositionAsync mengambil argumen yang Position terdiri dari koordinat lintang dan bujur, dan secara asinkron mengembalikan kumpulan string yang mewakili alamat di dekat posisi.