URL scheme for the Google Street View App (Not Goo

2020-04-02 07:47发布

问题:

I'm using Google Cardboard with the Street View App. I want to be able to create a link that sends users directly into the Street View App to view a specific location.

Within the Street View App I can create a link from a location, if it's a featured location within the app, the link it generates works perfectly and looks something like this: http://www.google.com/maps/streetview/#us-highlights/faneuil-hall-boston

If it's not a featured location, the URL it generates is different and opens in google maps, rather than the Street View app, looking something like this: https://www.google.com/maps/@/data=!3m4!1e1!3m2!1s7lx0Oz8OSTwIweRXw7eNiA!2e0

Is it possible to create a URL that opens in the Street View App that isn't a featured location. If so, what's the process/format?

回答1:

You can launch the Google Maps for iOS application in street view mode with the comgooglemaps URL Scheme by setting the mapmode parameter to streetview.

Objective c

 if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"comgooglemaps://"]]) {

       [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"comgooglemaps://?center=46.414382,10.013988&mapmode=streetview"]]];    
  }

Swift 4

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


   guard let url = URL(string: "comgooglemaps://?center=46.414382,10.013988&mapmode=streetview") else {
            return //be safe
        }

    if #available(iOS 10.0, *) {
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
    } else {
        UIApplication.shared.openURL(url)
    }

 }

& more details here on Google Streetview.