다음을 통해 공유


에서 네이티브 맵 앱 시작 Xamarin.Forms

각 플랫폼의 네이티브 맵 앱은 클래스에서 Xamarin.Forms 애플리케이션 Xamarin.EssentialsLauncher 에서 시작할 수 있습니다. 이 클래스를 사용하면 애플리케이션이 사용자 지정 URI 체계를 통해 다른 앱을 열 수 있습니다. 시작 관리자 기능은 열려는 사용자 지정 URL 체계를 나타내는 인수 또는 Uri 인수를 string 전달하여 메서드를 사용하여 호출 OpenAsync 할 수 있습니다. Xamarin.Essentials에 대한 자세한 내용은 Xamarin.Essentials을 참조하세요.

참고 항목

클래스를 사용하는 Xamarin.EssentialsLauncher 대신 클래스를 사용하는 Map 것이 좋습니다. 자세한 내용은 다음을 참조하세요 Xamarin.Essentials. 맵.

각 플랫폼의 지도 앱은 고유한 사용자 지정 URI 체계를 사용합니다. iOS의 지도 URI 체계에 대한 자세한 내용은 developer.apple.com 지도 링크를 참조하세요. Android의 지도 URI 체계에 대한 자세한 내용은 지도 개발자 가이드developers.android.com Android용 Google 지도 의도를 참조하세요. UWP(유니버설 Windows 플랫폼 지도 URI 체계)에 대한 자세한 내용은 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의 네이티브 맵 앱 경로 스크린샷