Xamarin.Essentials: CarteXamarin.Essentials: Map

La classe Map permet à une application d’ouvrir l’application de cartes installée à un emplacement spécifique.The Map class enables an application to open the installed map application to a specific location or placemark.

Prise en mainGet started

Pour commencer à utiliser cette API, lisez le Guide de prise en main de Xamarin.Essentials pour vérifier que la bibliothèque est correctement installée et configurée dans vos projets.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.

Utilisation de MapUsing Map

Ajoutez une référence à Xamarin.Essentials dans votre classe :Add a reference to Xamarin.Essentials in your class:

using Xamarin.Essentials;

La fonctionnalité Carte appelle la méthode OpenAsync avec le Location ou Placemark à ouvrir avec des MapLaunchOptions facultatif.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);
    }
}

Lors de l’ouverture avec un Placemark, les informations suivantes sont requises :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éthodes d’extensionExtension Methods

Si vous avez déjà une référence à un emplacement Location ou à un repère Placemark, vous pouvez utiliser la méthode d’extension intégrée OpenMapAsync avec le paramètre facultatif MapLaunchOptions: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();
    }
}

Mode DirectionsDirections Mode

Si vous appelez OpenMapAsync sans MapLaunchOptions, la carte se lancera à l’emplacement spécifié.If you call OpenMapAsync without any MapLaunchOptions, the map will launch to the location specified. Si vous le souhaitez, vous pouvez avoir un itinéraire de navigation calculé à partir de la position actuelle de l’appareil.Optionally, you can have a navigation route calculated from the device's current position. Pour ce faire, il vous de définir NavigationMode sur 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);
    }
}

Différences entre les plateformesPlatform Differences

  • NavigationMode prend en charge Bicycling (vélo), Driving (voiture) et Walking (marche).NavigationMode supports Bicycling, Driving, and Walking.

Caractéristiques de mise en œuvre de la plateformePlatform Implementation Specifics

Android utilise le schéma d’URI geo: pour lancer l’application Cartes sur l’appareil.Android uses the geo: Uri scheme to launch the maps application on the device. L’utilisateur peut être invité à sélectionner à partir d’une application existante qui prend en charge ce schéma d’URI.This may prompt the user to select from an existing app that supports this Uri scheme. Xamarin.Essentials est testé avec Google Maps, qui prend en charge ce schéma.Xamarin.Essentials is tested with Google Maps, which supports this scheme.

APIAPI

Retrouvez d’autres vidéos Xamarin sur Channel 9 et YouTube.Find more Xamarin videos on Channel 9 and YouTube.