Xamarin表格 - 地图 - 可以通过按钮调用Google地图吗?

Raf*_*lho 0 google-maps xamarin xamarin.forms

我有一个Xamarin Forms应用程序,我需要调用Google Maps跟踪从我的位置到命运的路线.

我知道我可以从地图组件中做到这一点,我已经做到了.但我也希望从地图上的按钮开始.有可能吗?

感谢帮助!

Sus*_*ver 9

您可以使用Urito 来调用Google地图,如果他们安装了Google地图应用Device.Open,用户可以选择如何Uri打开,否则他们将在默认浏览器中获取路线:

var uri = new Uri("http://maps.google.com/maps?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit");
Device.OpenUri(uri);
Run Code Online (Sandbox Code Playgroud)

您还可以通过依赖注入执行特定于设备的检查,以检查是否已安装Google Map应用程序,如果是,则直接打开它:

即:在iOS上,您可以检查是否comgooglemaps-x-callback:可用:

var canOpenNative = UIApplication.SharedApplication.CanOpenUrl(NSUrl.FromString("comgooglemaps-x-callback://"));
Run Code Online (Sandbox Code Playgroud)

然后您可以通过Uri使用comgooglemaps://comgooglemaps-x-callback://方案直接打开它.

var uri = new Uri("comgooglemaps-x-callback://?q=dessert&center=37.759748,-122.427135");
Run Code Online (Sandbox Code Playgroud)

顺便说一句:永远不要假设谷歌地图安装在Android上,因为全世界有很多发行版安装他们自己的地图应用程序而不是谷歌(这在中国,俄罗斯等都有发生......).