Geocoding
Artikel ini menjelaskan cara menggunakan antarmuka .NET Multi-platform App UI (.NET MAUI). IGeocoding Antarmuka ini menyediakan API untuk mengodekan geocode placemark ke koordinat posisional dan koordinat geocode terbalik ke marka tempat.
Implementasi IGeocoding
default antarmuka tersedia melalui Geocoding.Default properti . IGeocoding
Antarmuka dan Geocoding
kelas terkandung dalam Microsoft.Maui.Devices.Sensors
namespace layanan.
Mulai
Untuk mengakses fungsionalitas Geocoding , diperlukan penyiapan khusus platform berikut.
Tidak diperlukan penyiapan lain.
Menggunakan geocoding
Contoh berikut menunjukkan cara mendapatkan koordinat lokasi untuk alamat:
string address = "Microsoft Building 25 Redmond WA USA";
IEnumerable<Location> locations = await Geocoding.Default.GetLocationsAsync(address);
Location location = locations?.FirstOrDefault();
if (location != null)
Console.WriteLine($"Latitude: {location.Latitude}, Longitude: {location.Longitude}, Altitude: {location.Altitude}");
Ketinggian tidak selalu tersedia. Jika tidak tersedia, Altitude properti mungkin null
, atau nilainya mungkin 0
. Jika ketinggian tersedia, nilainya berada dalam meter di atas permukaan laut.
Geocoding terbalik
Geocoding terbalik adalah proses mendapatkan marka tempat untuk sekumpulan koordinat yang ada. Contoh berikut menunjukkan mendapatkan marka tempat:
private async Task<string> GetGeocodeReverseData(double latitude = 47.673988, double longitude = -122.121513)
{
IEnumerable<Placemark> placemarks = await Geocoding.Default.GetPlacemarksAsync(latitude, longitude);
Placemark placemark = placemarks?.FirstOrDefault();
if (placemark != null)
{
return
$"AdminArea: {placemark.AdminArea}\n" +
$"CountryCode: {placemark.CountryCode}\n" +
$"CountryName: {placemark.CountryName}\n" +
$"FeatureName: {placemark.FeatureName}\n" +
$"Locality: {placemark.Locality}\n" +
$"PostalCode: {placemark.PostalCode}\n" +
$"SubAdminArea: {placemark.SubAdminArea}\n" +
$"SubLocality: {placemark.SubLocality}\n" +
$"SubThoroughfare: {placemark.SubThoroughfare}\n" +
$"Thoroughfare: {placemark.Thoroughfare}\n";
}
return "";
}
Mendapatkan jarak antara dua lokasi
Kelas Location dan LocationExtensions menentukan metode untuk menghitung jarak antara dua lokasi. Untuk contoh mendapatkan jarak antara dua lokasi, lihat Jarak antara dua lokasi.