Xamarin.Essentials:Mapę
Klasa Map umożliwia aplikacji otwieranie zainstalowanej aplikacji mapy w określonej lokalizacji lub miejscu.
Rozpocznij
Aby rozpocząć korzystanie z tego interfejsu API, przeczytaj przewodnik wprowadzający , Xamarin.Essentials aby upewnić się, że biblioteka jest prawidłowo zainstalowana i skonfigurowana w projektach.
Korzystanie z mapy
Dodaj odwołanie do Xamarin.Essentials klasy:
using Xamarin.Essentials;
Funkcja Mapowania działa przez wywołanie OpenAsync
metody za pomocą metody Location
lub Placemark
w celu otwarcia za pomocą opcjonalnego MapLaunchOptions
elementu .
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
}
}
}
Podczas otwierania za pomocą elementu Placemark
wymagane są następujące informacje:
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 rozszerzania
Jeśli masz już odwołanie do elementu Location
lub Placemark
, możesz użyć wbudowanej metody OpenMapAsync
rozszerzenia z opcjonalnym elementem MapLaunchOptions
:
public class MapTest
{
public async Task OpenPlacemarkOnMap(Placemark placemark)
{
try
{
await placemark.OpenMapAsync();
}
catch (Exception ex)
{
// No map application available to open
}
}
}
Tryb kierunkowy
Jeśli wywołasz połączenie OpenMapAsync
bez żadnego MapLaunchOptions
elementu , mapa zostanie uruchomiona w określonej lokalizacji. Opcjonalnie możesz mieć trasę nawigacji obliczoną na podstawie bieżącej pozycji urządzenia. Można to zrobić, ustawiając element NavigationMode
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);
}
}
Różnice między platformami
NavigationMode
obsługuje cykle jazdy, jazdy i chodzenia.
Specyfika implementacji platformy
System Android używa schematu identyfikatora geo:
URI do uruchamiania aplikacji map na urządzeniu. Może to spowodować wyświetlenie monitu użytkownika o wybranie z istniejącej aplikacji obsługującej ten schemat identyfikatora URI. Xamarin.Essentialsjest testowany przy użyciu Mapy Google, który obsługuje ten schemat.
interfejs API
Powiązany film wideo
Więcej filmów na platformie Xamarin można znaleźć w witrynach Channel 9 i YouTube.