Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 MapLaunchOptionselementu .
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 Placemarkwymagane są następujące informacje:
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
}
}
}
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 MapLaunchOptionselementu , 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
NavigationModeobsł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.