Xamarin.Essentials: ZuordnungXamarin.Essentials: Map

Mit der Map-Klasse kann eine Anwendung die installierte Kartenanwendung für einen bestimmten Standort oder eine bestimmte Ortsmarkierung öffnen.The Map class enables an application to open the installed map application to a specific location or placemark.

Erste SchritteGet started

Lesen Sie zum Einstieg in diese API das Handbuch Erste Schritte mit Xamarin.Essentials, um sicherzustellen, dass die Bibliothek ordnungsgemäß installiert und in Ihren Projekten eingerichtet ist.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.

Verwenden von MapUsing Map

Fügen Sie Ihrer Klasse einen Verweis auf Xamarin.Essentials hinzu:Add a reference to Xamarin.Essentials in your class:

using Xamarin.Essentials;

Die Map-Funktionalität ruft die OpenAsync-Methode mit Location oder Placemark zum Öffnen des optionalen MapLaunchOptions auf.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);
    }
}

Beim Öffnen mit einem Placemark-Element werden die folgenden Informationen benötigt: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);
    }
}

ErweiterungsmethodenExtension Methods

Wenn Sie bereits einen Verweis auf ein Location- oder Placemark-Element haben, können Sie die integrierte Erweiterungsmethode OpenMapAsync mit dem optionalen MapLaunchOptions-Element verwenden: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();
    }
}

Modus „Wegbeschreibung“Directions Mode

Wenn Sie OpenMapAsync ohne MapLaunchOptions aufrufen, startet die Karte an der angegebenen Position.If you call OpenMapAsync without any MapLaunchOptions, the map will launch to the location specified. Optional können Sie eine Navigationsroute ausgehend von der aktuellen Position des Geräts berechnen lassen.Optionally, you can have a navigation route calculated from the device's current position. Dafür muss NavigationMode für MapLaunchOptions festgelegt werden.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);
    }
}

PlattformunterschiedePlatform Differences

  • NavigationMode unterstützt Radfahren, Fahren und Gehen.NavigationMode supports Bicycling, Driving, and Walking.

Besonderheiten bei der plattformspezifischen ImplementierungPlatform Implementation Specifics

Android verwendet das URI-Schema geo:, um die Kartenanwendung auf dem Gerät zu starten.Android uses the geo: Uri scheme to launch the maps application on the device. Möglicherweise wird der Benutzer aufgefordert, eine vorhandene App auszuwählen, die dieses URI-Schema unterstützt.This may prompt the user to select from an existing app that supports this Uri scheme. Xamarin.Essentials wurde mit Google Maps getestet, das dieses Schema unterstützt.Xamarin.Essentials is tested with Google Maps, which supports this scheme.

APIAPI

Auf Channel 9 und auf YouTube finden Sie weitere Videos zu Xamarin.Find more Xamarin videos on Channel 9 and YouTube.