Buka aplikasi peta
Artikel ini menjelaskan cara menggunakan antarmuka .NET Multi-platform App UI (.NET MAUI). IMap Antarmuka ini memungkinkan aplikasi untuk membuka aplikasi peta yang diinstal ke lokasi atau tanda tempat tertentu.
Implementasi IMap
default antarmuka tersedia melalui Map.Default properti . IMap
Antarmuka dan Map
kelas terkandung dalam Microsoft.Maui.ApplicationModel
namespace layanan.
Mulai
Untuk mengakses fungsionalitas browser, diperlukan penyiapan khusus platform berikut.
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. Google Peta mendukung skema ini.
Dalam file Platforms/Android/AndroidManifest.xml, tambahkan simpul berikut queries/intent
ke simpulmanifest
:
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="geo"/>
</intent>
</queries>
Menggunakan peta
Fungsionalitas peta berfungsi dengan memanggil IMap.OpenAsync metode , dan meneruskan instans Location atau Placemark jenis. Contoh berikut membuka aplikasi peta yang diinstal di lokasi GPS tertentu:
public async Task NavigateToBuilding25()
{
var location = new Location(47.645160, -122.1306032);
var options = new MapLaunchOptions { Name = "Microsoft Building 25" };
try
{
await Map.Default.OpenAsync(location, options);
}
catch (Exception ex)
{
// No map application available to open
}
}
Tip
Jenis Location
dan Placemark
berada di Microsoft.Maui.Devices.Sensors
namespace layanan.
Saat Anda menggunakan Placemark
untuk membuka peta, informasi lebih lanjut diperlukan. Informasi ini membantu aplikasi peta mencari tempat yang Anda cari. Informasi berikut diperlukan:
public async Task NavigateToBuilding()
{
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.Default.OpenAsync(placemark, options);
}
catch (Exception ex)
{
// No map application available to open or placemark can not be located
}
}
Menguji apakah peta dibuka
Selalu ada kemungkinan bahwa membuka aplikasi peta gagal, seperti ketika tidak ada aplikasi peta atau aplikasi Anda tidak memiliki izin yang benar. Untuk setiap IMap.OpenAsync metode kelebihan beban, ada metode yang IMap.TryOpenAsync sesuai, yang mengembalikan nilai Boolean yang menunjukkan bahwa aplikasi peta berhasil dibuka. Contoh kode berikut menggunakan TryOpenAsync
metode untuk membuka peta:
var location = new Location(47.645160, -122.1306032);
var options = new MapLaunchOptions { Name = "Microsoft Building 25" };
if (await Map.Default.TryOpenAsync(location, options) == false)
{
// Map failed to open
}
Metode ekstensi
Selama Microsoft.Maui.Devices.Sensors
namespace layanan diimpor, yang dilakukan proyek .NET MAUI baru secara otomatis, Anda dapat menggunakan metode OpenMapsAsync
ekstensi bawaan untuk membuka peta:
public async Task NavigateToBuildingByPlacemark()
{
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 placemark.OpenMapsAsync(options);
}
catch (Exception ex)
{
// No map application available to open or placemark can not be located
}
}
Tambahkan navigasi
Saat membuka peta, Anda dapat menghitung rute dari lokasi perangkat saat ini ke lokasi yang ditentukan. Teruskan MapLaunchOptions jenis ke Map.OpenAsync
metode , menentukan mode navigasi. Contoh berikut membuka aplikasi peta dan menentukan mode navigasi mengemudi:
public async Task DriveToBuilding25()
{
var location = new Location(47.645160, -122.1306032);
var options = new MapLaunchOptions { Name = "Microsoft Building 25",
NavigationMode = NavigationMode.Driving };
try
{
await Map.Default.OpenAsync(location, options);
}
catch (Exception ex)
{
// No map application available to open
}
}
Perbedaan platform
Bagian ini menjelaskan perbedaan khusus platform dengan API peta.
NavigationMode
mendukung Bersepeda, Mengemudi, dan Berjalan.