Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Mit der Map-Klasse kann eine Anwendung die installierte Kartenanwendung für einen bestimmten Standort oder eine bestimmte Ortsmarkierung öffnen.
Erste Schritte
Lesen Sie zum Einstieg in die Verwendung dieser API den Leitfaden mit ersten Schritte für Xamarin.Essentials, um sicherzustellen, dass die Bibliothek ordnungsgemäß installiert und in Ihren Projekten eingerichtet ist.
Verwenden von Map
Fügen Sie in Ihrer Klasse einen Verweis auf Xamarin.Essentials hinzu:
using Xamarin.Essentials;
Die Map-Funktionalität ruft die OpenAsync-Methode mit Location oder Placemark zum Öffnen des optionalen MapLaunchOptions auf.
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
}
}
}
Beim Öffnen mit einem Placemark-Element werden die folgenden Informationen benötigt:
CountryNameAdminAreaThoroughfareLocality
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
}
}
}
Erweiterungsmethoden
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:
public class MapTest
{
public async Task OpenPlacemarkOnMap(Placemark placemark)
{
try
{
await placemark.OpenMapAsync();
}
catch (Exception ex)
{
// No map application available to open
}
}
}
Modus „Wegbeschreibung“
Wenn Sie OpenMapAsync ohne MapLaunchOptions aufrufen, startet die Karte an der angegebenen Position. Optional können Sie eine Navigationsroute ausgehend von der aktuellen Position des Geräts berechnen lassen. Dafür muss NavigationMode für MapLaunchOptions festgelegt werden.
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);
}
}
Plattformunterschiede
Besonderheiten bei der plattformspezifischen Implementierung
Android verwendet das URI-Schema geo:, um die Kartenanwendung auf dem Gerät zu starten. Möglicherweise wird der Benutzer aufgefordert, eine vorhandene App auszuwählen, die dieses URI-Schema unterstützt. Xamarin.Essentials wurde mit Google Maps getestet, da dieser Dienst das Schema unterstützt.
API
Zugehörige Videos
Auf Channel 9 und auf YouTube finden Sie weitere Videos zu Xamarin.