Xamarin.Essentials: Mapa

Třída Map umožňuje aplikaci otevřít nainstalovanou aplikaci mapy na konkrétní umístění nebo značku místa.

Začínáme

Pokud chcete začít používat toto rozhraní API, přečtěte si příručku Začínáme pro a ujistěte se, že je knihovna správně nainstalovaná a nastavená ve vašich projektech.

Použití mapy

Do třídy Xamarin.Essentials přidejte odkaz na :

using Xamarin.Essentials;

Funkce Map funguje tak, že zavolá OpenAsync metodu s nebo Location pro otevření Placemark s volitelným 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
        }
    }
}

Při otevírání pomocí Placemark se vyžaduje následující informace:

  • 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
        }
    }
}

Metody rozšíření

Pokud již máte odkaz na nebo , můžete použít integrovanou metodu rozšíření s LocationPlacemarkOpenMapAsync volitelným MapLaunchOptions parametrem :

public class MapTest
{
    public async Task OpenPlacemarkOnMap(Placemark placemark)
    {
        try
        {
            await placemark.OpenMapAsync();
        }
        catch (Exception ex)
        {
            // No map application available to open
        }
    }
}

Režim trasy

Pokud zavoláte OpenMapAsync bez , mapa se spustí do zadaného MapLaunchOptions umístění. Volitelně můžete mít navigační trasu vypočítanou z aktuální pozice zařízení. Toho dosáhnete nastavením NavigationMode vlastnosti na 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);
    }
}

Rozdíly mezi platformami

  • NavigationMode podporuje Bicycling, Driving a Walking.

Specifika implementace platformy

Android používá geo: schéma identifikátoru URI ke spuštění aplikace Maps na zařízení. To může uživatele vyzvat k výběru z existující aplikace, která podporuje toto schéma identifikátoru URI. Xamarin.Essentialsse testuje s googlem Mapy, který podporuje toto schéma.

rozhraní API

Další videa o Xamarinu najdete na Channel 9 a YouTube.