共用方式為


從啟動原生對應應用程式 Xamarin.Forms

每個平臺上的原生對應應用程式都可以由 Xamarin.EssentialsLauncher 類別從Xamarin.Forms應用程式啟動。 這個類別可讓應用程式透過其自定義 URI 配置開啟另一個應用程式。 您可以使用 方法叫用 OpenAsync 啟動器功能,傳入 stringUri 自變數,代表要開啟的自定義 URL 配置。 如需 Xamarin.Essentials 的詳細資訊,請參閱Xamarin.Essentials

注意

使用 Xamarin.EssentialsLauncher 類別的替代方法是使用其 Map 類別。 如需詳細資訊,請參閱 Xamarin.Essentials:對應

每個平臺上的地圖應用程式都會使用唯一的自定義 URI 配置。 如需 iOS 上地圖 URI 配置的相關信息,請參閱 developer.apple.com 上的地圖連結 。 如需 Android 上地圖 URI 配置的詳細資訊,請參閱 地圖 開發人員指南Google 地圖 Android developers.android.com 意圖。 如需 通用 Windows 平台 上地圖 URI 配置的相關信息(UWP),請參閱啟動 Windows 地圖 應用程式

在特定位置啟動地圖應用程式

您可以將適當的查詢參數新增至每個地圖應用程式的自訂 URI 配置,以開啟原生地圖應用程式中的位置:

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");
}

此範例程式代碼會導致在每個平台上啟動原生地圖應用程式,而地圖會置中於代表指定位置的釘選上:

iOS 和 Android 上原生地圖應用程式的螢幕快照

使用指示啟動地圖應用程式

原生地圖應用程式可以啟動顯示方向,方法是將適當的查詢參數新增至每個地圖應用程式的自定義 URI 配置:

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");
}

此範例程式代碼會導致在每個平台上啟動原生地圖應用程式,地圖會以指定位置之間的路線為中心:

iOS 和 Android 上原生地圖應用程式路由的螢幕快照