Xamarin.Essentials:Mapa
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.Essentials program jest testowany za pomocą usługi Google Maps, która 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.