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.
Natywna aplikacja mapy na każdej platformie może zostać uruchomiona z poziomu aplikacji przez klasę Xamarin.Forms Xamarin.EssentialsLauncher . Ta klasa umożliwia aplikacji otwieranie innej aplikacji za pomocą niestandardowego schematu identyfikatora URI. Funkcję uruchamiania można wywołać za OpenAsync pomocą metody , przekazując string argument lub Uri reprezentujący niestandardowy schemat adresów URL do otwarcia. Aby uzyskać więcej informacji na temat Xamarin.Essentialsprogramu , zobacz Xamarin.Essentials.
Uwaga
Alternatywą dla używania Xamarin.EssentialsLauncher klasy jest użycie jej Map klasy. Aby uzyskać więcej informacji, zobacz Xamarin.Essentials: Map.
Aplikacja mapy na każdej platformie używa unikatowego niestandardowego schematu identyfikatora URI. Aby uzyskać informacje na temat schematu identyfikatora URI map w systemie iOS, zobacz Map Links on developer.apple.com (Linki mapy w developer.apple.com). Aby uzyskać informacje na temat schematu identyfikatora URI map w systemie Android, zobacz przewodnik dla deweloperów Mapy i intencje google Mapy dla systemu Android w developers.android.com. Aby uzyskać informacje na temat schematu identyfikatora URI map w platforma uniwersalna systemu Windows (UWP), zobacz Uruchamianie aplikacji Mapy Windows.
Uruchamianie aplikacji mapy w określonej lokalizacji
Lokalizację w natywnej aplikacji mapy można otworzyć, dodając odpowiednie parametry zapytania do niestandardowego schematu identyfikatora URI dla każdej aplikacji mapy:
if (Device.RuntimePlatform == Device.iOS)
{
// https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/MapLinks/MapLinks.html
await Launcher.OpenAsync("http://maps.apple.com/?q=394+Pacific+Ave+San+Francisco+CA");
}
else if (Device.RuntimePlatform == Device.Android)
{
// open the maps app directly
await Launcher.OpenAsync("geo:0,0?q=394+Pacific+Ave+San+Francisco+CA");
}
else if (Device.RuntimePlatform == Device.UWP)
{
await Launcher.OpenAsync("bingmaps:?where=394 Pacific Ave San Francisco CA");
}
Ten przykładowy kod powoduje uruchomienie natywnej aplikacji mapy na każdej platformie z mapą wyśrodkowaną na pinezkę reprezentującą określoną lokalizację:
Uruchamianie aplikacji mapy z kierunkami
Aplikację map natywnych można uruchomić, wyświetlając wskazówki, dodając odpowiednie parametry zapytania do niestandardowego schematu identyfikatora URI dla każdej aplikacji mapy:
if (Device.RuntimePlatform == Device.iOS)
{
// https://developer.apple.com/library/ios/featuredarticles/iPhoneURLScheme_Reference/MapLinks/MapLinks.html
await Launcher.OpenAsync("http://maps.apple.com/?daddr=San+Francisco,+CA&saddr=cupertino");
}
else if (Device.RuntimePlatform == Device.Android)
{
// opens the 'task chooser' so the user can pick Maps, Chrome or other mapping app
await Launcher.OpenAsync("http://maps.google.com/?daddr=San+Francisco,+CA&saddr=Mountain+View");
}
else if (Device.RuntimePlatform == Device.UWP)
{
await Launcher.OpenAsync("bingmaps:?rtp=adr.394 Pacific Ave San Francisco CA~adr.One Microsoft Way Redmond WA 98052");
}
Ten przykładowy kod powoduje uruchomienie natywnej aplikacji mapy na każdej platformie z mapą wyśrodkowaną na trasie między określonymi lokalizacjami:

