Bagikan melalui


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 , MapLaunchOptionspeta 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

  • NavigationMode mendukung Bersepeda, Mengemudi, dan Berjalan.

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.

API

Temukan video Xamarin lainnya di Channel 9 dan YouTube.