如何重定向到Google Map(如果已安装),否则如何重定向到Appstore以使用Swift来安装Google Map

时间:2019-01-11 04:29:04

标签: ios swift navigation

我需要在我的iOS应用中打开google map。如果已安装google map,请导航至google map,否则重定向至AppStore以安装Google Maps。这是我的尝试

 if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) {

            print("app found")
            UIApplication.shared.open(URL(string: "comgooglemaps://?center=9.9894,76.5790&zoom=14&views=traffic&q=\(lattitude),\(longitude)")!, options: [:], completionHandler: nil)

        }else {

            showAlertWithTitle(title: "App not found", message: "You need to install Google Map", fromViewController: self)
            print("Can't use comgooglemaps://")
     }

2 个答案:

答案 0 :(得分:0)

一种选择是将UIApplication openURL与以http://maps.google.com开头的URL一起使用。

如果用户安装了Google Maps应用,则将启动该应用。

如果用户未安装该应用程序,则Safari将打开到Google地图页面。除了显示地图之外,该页面还将使用户可以选择是否需要前往App Store获取应用。

这种方法具有最大的灵活性,并为用户提供了他们想要做的事情的最大选择。

一种替代方法是使用您凝视的方法并检查comgooglemaps方案。在您的else中,您可以显示一个SKStoreProductViewController,并传入Google Maps应用的应用ID(585027354)。

答案 1 :(得分:0)

public static <T, K, V> void myFunction(Class<T> keyClass, Map<K,V> map)

还请在您的info.plist

中添加以下代码
 if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) {

            print("app found")
            UIApplication.shared.open(URL(string: "comgooglemaps://")!, options: [:], completionHandler: nil)

        }else {

            UIApplication.shared.openURL(NSURL(string: "itms://itunes.apple.com/us/app/google-maps-transit-food/id585027354?mt=8")! as URL)
            print("Can't use comgooglemaps://")
        }

请添加代码,让我知道,如果您的设备上安装了上述代码,则上述代码将打开google map,否则将重定向到应用商店。