Xamarin.Essentials:Peta
Kelas Peta memungkinkan aplikasi untuk membuka aplikasi peta yang diinstal ke lokasi atau marka tempat tertentu.
Memulai
Untuk mulai menggunakan API ini, baca panduan memulai untuk Xamarin.Essentials memastikan pustaka diinstal dan disiapkan dengan benar di proyek Anda.
Menggunakan Peta
Tambahkan referensi ke Xamarin.Essentials di kelas Anda:
using Xamarin.Essentials;
Fungsionalitas Peta berfungsi dengan memanggil OpenAsync
metode dengan Location
atau Placemark
untuk membuka dengan opsional MapLaunchOptions
.
public class MapTest
{
public async Task NavigateToBuilding25()
{
var location = new Location(47.645160, -122.1306032);
var options = new MapLaunchOptions { Name = "Microsoft Building 25" };
try
{
await Map.OpenAsync(location, options);
}
catch (Exception ex)
{
// No map application available to open
}
}
}
Saat membuka dengan Placemark
, informasi berikut diperlukan:
CountryName
AdminArea
Thoroughfare
Locality
public class MapTest
{
public async Task NavigateToBuilding25()
{
var placemark = new Placemark
{
CountryName = "United States",
AdminArea = "WA",
Thoroughfare = "Microsoft Building 25",
Locality = "Redmond"
};
var options = new MapLaunchOptions { Name = "Microsoft Building 25" };
try
{
await Map.OpenAsync(placemark, options);
}
catch (Exception ex)
{
// No map application available to open or placemark can not be located
}
}
}
Metode Ekstensi
Jika Anda sudah memiliki referensi ke Location
atau Placemark
, Anda dapat menggunakan metode OpenMapAsync
ekstensi bawaan dengan opsional MapLaunchOptions
:
public class MapTest
{
public async Task OpenPlacemarkOnMap(Placemark placemark)
{
try
{
await placemark.OpenMapAsync();
}
catch (Exception ex)
{
// No map application available to open
}
}
}
Mode Petunjuk Arah
Jika Anda memanggil OpenMapAsync
tanpa , MapLaunchOptions
peta akan diluncurkan ke lokasi yang ditentukan. Secara opsional, Anda dapat menghitung rute navigasi dari posisi perangkat saat ini. Ini dicapai dengan mengatur NavigationMode
pada MapLaunchOptions
:
public class MapTest
{
public async Task NavigateToBuilding25()
{
var location = new Location(47.645160, -122.1306032);
var options = new MapLaunchOptions { NavigationMode = NavigationMode.Driving };
await Map.OpenAsync(location, options);
}
}
Perbedaan Platform
Spesifikasi Implementasi Platform
Android menggunakan geo:
skema Uri untuk meluncurkan aplikasi peta di perangkat. Ini dapat meminta pengguna untuk memilih dari aplikasi yang ada yang mendukung skema Uri ini. Xamarin.Essentialsdiuji dengan Google Peta, yang mendukung skema ini.