Xamarin.Essentials: AsignaciónXamarin.Essentials: Map

La clase Map permite que una aplicación abra la aplicación de mapas instalada en una ubicación o marca de posición específica.The Map class enables an application to open the installed map application to a specific location or placemark.

Primeros pasosGet started

Para empezar a usar esta API, lea la guía de introducción para Xamarin.Essentials con el fin de asegurarse de que la biblioteca está correctamente instalada y configurada en los proyectos.To start using this API, read the getting started guide for Xamarin.Essentials to ensure the library is properly installed and set up in your projects.

Uso de MapUsing Map

Agregue una referencia a Xamarin.Essentials en su clase:Add a reference to Xamarin.Essentials in your class:

using Xamarin.Essentials;

Map funciona mediante una llamada al método OpenAsync con Location o Placemark abierto con MapLaunchOptions opcional.The Map functionality works by calling the OpenAsync method with the Location or Placemark to open with optional MapLaunchOptions.

public class MapTest
{
    public async Task NavigateToBuilding25()
    {
        var location = new Location(47.645160, -122.1306032);
        var options =  new MapLaunchOptions { Name = "Microsoft Building 25" };

        await Map.OpenAsync(location, options);
    }
}

Cuando se abre con Placemark, se requiere la siguiente información:When opening with a Placemark, the following information is required:

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

        await Map.OpenAsync(placemark, options);
    }
}

Métodos de extensión.Extension Methods

Si ya tiene una referencia a Location o a Placemark, puede usar el método de extensión integrado OpenMapAsync con MapLaunchOptions opcional:If you already have a reference to a Location or Placemark, you can use the built-in extension method OpenMapAsync with optional MapLaunchOptions:

public class MapTest
{
    public async Task OpenPlacemarkOnMap(Placemark placemark)
    {
        await placemark.OpenMapAsync();
    }
}

Modo de instruccionesDirections Mode

Si llama a OpenMapAsync sin MapLaunchOptions, el mapa se iniciará en la ubicación especificada.If you call OpenMapAsync without any MapLaunchOptions, the map will launch to the location specified. Si quiere, puede hacer que se calcule una ruta de navegación desde la posición actual del dispositivo.Optionally, you can have a navigation route calculated from the device's current position. Para ello, establezca NavigationMode en MapLaunchOptions:This is accomplished by setting the NavigationMode on the 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);
    }
}

Diferencias entre plataformasPlatform Differences

  • NavigationMode admite Bicycling (Bicicleta), Driving (Automóvil) y Walking (A pie).NavigationMode supports Bicycling, Driving, and Walking.

Detalles de implementación de la plataformaPlatform Implementation Specifics

Android usa el esquema geo: de URI para iniciar la aplicación de mapas en el dispositivo.Android uses the geo: Uri scheme to launch the maps application on the device. Esto podría pedirle al usuario que seleccione de una aplicación existente que admite este esquema de URI.This may prompt the user to select from an existing app that supports this Uri scheme. Xamarin.Essentials se probó con Google Maps, que admite este esquema.Xamarin.Essentials is tested with Google Maps, which supports this scheme.

APIAPI

Encuentre más vídeos de Xamarin en Channel 9 y YouTube.Find more Xamarin videos on Channel 9 and YouTube.