Xamarin.Essentials: Mapa
Třída Map umožňuje aplikaci otevřít nainstalovanou aplikaci mapy na konkrétní umístění nebo značku místa.
Začínáme
Pokud chcete začít používat toto rozhraní API, přečtěte si příručku Začínáme pro a ujistěte se, že je knihovna správně nainstalovaná a nastavená ve vašich projektech.
Použití mapy
Do třídy Xamarin.Essentials přidejte odkaz na :
using Xamarin.Essentials;
Funkce Map funguje tak, že zavolá OpenAsync metodu s nebo Location pro otevření Placemark s volitelným MapLaunchOptions .
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
}
}
}
Při otevírání pomocí Placemark se vyžaduje následující informace:
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 rozšíření
Pokud již máte odkaz na nebo , můžete použít integrovanou metodu rozšíření s LocationPlacemarkOpenMapAsync volitelným MapLaunchOptions parametrem :
public class MapTest
{
public async Task OpenPlacemarkOnMap(Placemark placemark)
{
try
{
await placemark.OpenMapAsync();
}
catch (Exception ex)
{
// No map application available to open
}
}
}
Režim trasy
Pokud zavoláte OpenMapAsync bez , mapa se spustí do zadaného MapLaunchOptions umístění. Volitelně můžete mít navigační trasu vypočítanou z aktuální pozice zařízení. Toho dosáhnete nastavením NavigationMode vlastnosti 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);
}
}
Rozdíly mezi platformami
Specifika implementace platformy
Android používá geo: schéma identifikátoru URI ke spuštění aplikace Maps na zařízení. To může uživatele vyzvat k výběru z existující aplikace, která podporuje toto schéma identifikátoru URI. Xamarin.Essentialsse testuje s googlem Mapy, který podporuje toto schéma.
rozhraní API
Související video
Další videa o Xamarinu najdete na Channel 9 a YouTube.