Schemat adresu URL w Mapach Google na iOS

Na urządzeniach z systemem iOS 9 lub nowszym możesz używać: Użyj Universal Links do uruchomienia Google Mapy, jeśli masz adres URL w Mapach Google.

Możesz skorzystać ze schematu adresów URL Map Google, aby uruchomić tag Aplikacja Mapy Google na iOS – wyszukiwanie i wyznaczanie trasy żądania i wyświetlenia mapy. Po uruchomieniu Map Google pakiet jest automatycznie wysyłany jako część żądania.

Aby korzystać ze schematu URL Map Google, nie potrzebujesz klucza interfejsu API Google.

Mapy Google na iOS obsługują Uniwersalne Linki na urządzeniach z iOS 9 lub nowszym.

Jeśli adres URL pasuje do następującego wyrażenia regularnego, a urządzenie jest uruchomione iOS 9 lub nowszego, warto rozważyć bezpośrednie używanie metody openURL:.

(http(s?)://)?
((maps\.google\.{TLD}/)|
 ((www\.)?google\.{TLD}/maps/)|
 (goo.gl/maps/))
.*

Na przykład

Swift

UIApplication.shared.openURL(URL(string:"https://www.google.com/maps/@42.585444,13.007813,6z")!)

Objective-C

[[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:@"https://www.google.com/maps/@42.585444,13.007813,6z"]];

Omówienie

Schemat adresu URL pozwala uruchomić natywną aplikację iOS z innej aplikacji na iOS lub aplikacji internetowej. Możesz ustawić opcje w adresie URL, który będzie przekazywany do uruchomioną aplikację. Aplikacja Mapy Google na iOS obsługuje ten adres URL schematy:

  • comgooglemaps:// i comgooglemaps-x-callback:// – te schematy pozwalają uruchomić aplikację Mapy Google na iOS i wykonać czynności:

    • Możesz wyświetlić mapę w określonej lokalizacji i na poziomie powiększenia.
    • Wyszukaj lokalizacje lub miejsca i wyświetl je na mapie.
    • Uzyskiwanie wskazówek dojazdu z jednego miejsca do drugiego. Wskazówki dojazdu można zwrócić dla czterech środków transportu: samochodu, pieszego, rowerowego i publicznego transportem publicznym.
    • Dodaj nawigację do aplikacji.
    • W iOS 8 wykonaj wywołanie zwrotne po zakończeniu działania aplikacji, używając comgooglemaps-x-callback:// Wywołania zwrotne są często wykorzystywane do powrót użytkownika do aplikacji, w której oryginalnie otworzyły się Mapy Google na iOS. Pamiętaj, że w iOS 9 system automatycznie udostępni w lewym rogu pasku stanu.
  • comgooglemapsurl:// – ten schemat umożliwia uruchomienie aplikacji Mapy Google w iOS, korzystając z adresu URL pochodzącego z witryny Map Google na komputery. Oznacza to, że aby zapewnić użytkownikom natywne środowisko mobilne, a nie po prostu wczytywania strony Map Google.

    • Pierwotnym adresem URL może być maps.google.com lub google.com/maps, lub użycie prawidłowej domeny krajowej najwyższego poziomu zamiast domeny com. Możesz również przekazać goo.gl/maps adresy URL przekierowania.
    • Możesz oddzwonić, używając x-source i x-success ze schematem adresu URL comgooglemapsurl://.

Uruchomienie aplikacji Mapy Google na iOS i wykonanie konkretnej funkcji

Aby uruchomić aplikację Mapy Google na iOS i opcjonalnie wykonać jedną z funkcji, użyj schematu adresu URL w postaci:

comgooglemaps://?parameters

lub

comgooglemaps-x-callback://?parameters

Parametry zostały szczegółowo opisane w dalszej części tego dokumentu.

Sprawdzam dostępność aplikacji Mapy Google na urządzeniu

Przed pokazaniem jednego z tych adresów URL użytkownikowi w aplikacji sprawdzić, czy aplikacja jest zainstalowana. Aplikacja może sprawdzić, czy adres URL schemat jest dostępny z następującym kodem:

Swift

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

Objective-C

[[UIApplication sharedApplication] canOpenURL:
    [NSURL URLWithString:@"comgooglemaps://"]];

Aby na przykład wyświetlić mapę Central Parku w Nowym Jorku, możesz użyć ten kod:

Swift

if (UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)) {
  UIApplication.shared.openURL(URL(string:
    "comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic")!)
} else {
  print("Can't use comgooglemaps://");
}

Objective-C

if ([[UIApplication sharedApplication] canOpenURL:
     [NSURL URLWithString:@"comgooglemaps://"]]) {
  [[UIApplication sharedApplication] openURL:
   [NSURL URLWithString:@"comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic"]];
} else {
  NSLog(@"Can't use comgooglemaps://");
}

Wyświetlanie mapy

Aby wyświetlić mapę z określonym powiększeniem i w określonej lokalizacji, użyj schematu adresu URL. Możesz też nakładać na mapę inne widoki lub wyświetlać zdjęcia Street View.

Parametry

Wszystkie parametry podane poniżej są opcjonalne. Jeśli nie ustawisz żadnych parametrów, funkcja Schemat adresu URL uruchomi aplikację Mapy Google na iOS.

  • center: to centralny punkt widocznego obszaru mapy. Sformatowane jako przecinek rozdzielany ciąg znaków latitude,longitude.
  • mapmode: ustawia rodzaj wyświetlanej mapy. Możliwe wartości: standard lub streetview Jeśli jej nie określisz, zostaną zastosowane bieżące ustawienia aplikacji .
  • views: włącza lub wyłącza określone widoki. Możliwe wartości: satellite, traffic lub transit. Za pomocą separatorem przecinkiem. Jeśli parametr jest określony bez wartości, to zostanie wyczyścić wszystkie widoki.
  • zoom: określa poziom powiększenia mapy.

W tym przykładowym adresie URL wyświetlana jest mapa wyśrodkowana na Nowym Jorku przy powiększeniu 14 oraz widok natężenia ruchu w:

comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic

Mapa ruchu w Nowym Jorku

Oto kilka dodatkowych przykładów:

comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview

Ten schemat służy do wyświetlania wyszukiwanych haseł w określonej lokalizacji widocznego obszaru.

Parametry

Oprócz parametrów używanych do wyświetlania mapy wyszukiwarka obsługuje q .

  • q: ciąg zapytania do wyszukania.

Ten przykładowy adres URL do wyszukiwania hasła „pizza” w określonej lokalizacji:

comgooglemaps://?q=Pizza&center=37.759748,-122.427135

Pizza w pobliżu

Oto kilka dodatkowych przykładów:

comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA&center=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan&center=35.660888,139.73073&zoom=15&views=transit

Wyświetlam trasę

Ten schemat służy do pobierania i wyświetlania wskazówek dojazdu między dwiema lokalizacjami. Możesz też określić środek transportu.

Parametry

  • saddr: ustawia punkt początkowy wyszukiwania wskazówek dojazdu. Może to być może to być długość lub szerokość geograficzna albo adres w formacie zapytania. Jeśli jest to zapytanie który zwraca więcej niż jeden wynik, pierwszym wynikiem będzie zaznaczono. Jeśli wartość jest pusta, bieżąca lokalizacja użytkownika .
  • daddr: ustawia punkt końcowy wyszukiwania wskazówek dojazdu. Ma format i zachowanie co saddr.
  • directionsmode: sposób transportu. Dostępne ustawienia: driving, transit, bicycling lub walking.

Przykładowy URL pokazuje wskazówki dojazdu transportem publicznym między Google Nowy Jork a lotnisko JFK:

comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit

Transport publiczny

Oto kilka dodatkowych przykładów:

comgooglemaps://?saddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA+94043&daddr=Google+Inc,+345+Spear+Street,+San+Francisco,+CA&center=37.422185,-122.083898&zoom=10
comgooglemaps://?saddr=2025+Garcia+Ave,+Mountain+View,+CA,+USA&daddr=Google,+1600+Amphitheatre+Parkway,+Mountain+View,+CA,+United+States&center=37.423725,-122.0877&directionsmode=walking&zoom=17

Określanie adresu URL wywołania zwrotnego

Aby określić adres URL wywołania zwrotnego, należy użyć metody Schemat adresu URL comgooglemaps-x-callback://. Ten schemat jest zgodny z specyfikacji x-callback-url. Po wywołaniu aplikacji Mapy Google na iOS w przypadku tego schematu aplikacja wyświetli przycisk u góry na ekranie. Kliknięcie tego przycisku spowoduje oddzwonienie do adresu URL, który określonych przez Ciebie.

Żądania wysyłane do comgooglemaps-x-callback:// muszą mieć następujący format:

comgooglemaps-x-callback://?parameters

Parametry

Schemat URL-a wywołania zwrotnego x akceptuje te same parametry co comgooglemaps:// Schemat adresu URL z wymienionymi poniżej parametrami dodatkowymi. Oba parametry

  • x-source – nazwa aplikacji wysyłającej wywołanie zwrotne x użytkownika. Preferowane są krótkie nazwy.
  • x-success – adres URL, który ma zostać wywołany po zakończeniu. Często schemat adresu URL Twojej aplikacji, umożliwiający użytkownikom powrót do oryginalnej strony aplikacji.

Pamiętaj, że aplikacja musi zarejestrować własny schemat adresu URL, by mogła odpowiedzieć na adres URL wywołania zwrotnego.

  1. Upewnij się, że aplikacja zarejestrowała schemat adresu URL, który może odpowiadać na żądanie oddzwonienia.
  2. Przekaż etykietę przycisku wywołania zwrotnego w parametrze x-source.
  3. Przekaż adres URL wywołania zwrotnego w parametrze x-success.

Poniższy przykład pokazuje uruchomienie aplikacji Mapy Google na iOS i wyświetlenie mapy. wokół Nowego Jorku. W aplikacji wyświetli się również przycisk „SourceApp”. Gdy komponent „SourceApp” kliknie przycisk, aplikacja Mapy Google na iOS wywołanie zwrotne do fikcyjnego schematu adresu URL: sourceapp://?resume=true.

comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
   &x-success=sourceapp://?resume=true
   &x-source=SourceApp

Tak jak w przypadku schematu adresu URL comgooglemaps://, najpierw sprawdź, czy aplikacja Mapy Google na iOS jest dostępna na urządzeniu i obsługuje schematem URL-a wywołania zwrotnego x. Aplikacja może sprawdzić, czy schemat adresu URL jest dostępny następującym kodem:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemaps-x-callback://"]];

To jest przykład adresu URL, który pozwala użytkownikom wrócić do aplikacji po wyszukaniu deser.

comgooglemaps-x-callback://?q=dessert&center=37.759748,-122.427135
   &x-success=sourceapp://?resume=true
   &x-source=Nom+Nom

Dodaję nawigację do aplikacji

Uruchomienie aplikacji Mapy Google na iOS z prośbą o wskazówki dojazdu to prosty sposób przyznaj użytkownikom dostęp do szczegółowej nawigacji w Twojej aplikacji. Za pomocą schemat adresu URL comgooglemaps:// albo comgooglemaps-x-callback://.

Ten fragment kodu pokazuje, jak użyć schematu comgooglemaps-x-callback:// do uzyskać wskazówki dojazdu, a następnie wrócić do aplikacji, gdy użytkownik będzie gotowy. wykona te działania:

  1. Sprawdź, czy schemat adresu URL comgooglemaps-x-callback:// jest dostępny.
  2. Uruchom aplikację Mapy Google na iOS i poproś o wskazówki dojazdu na lotnisko JFK w w Nowym Jorku. Pozostaw adres początkowy pusty, by uzyskać wskazówki dojazdu z bieżącej lokalizacji użytkownika.
  3. Dodaj przycisk o nazwie „AirApp” w aplikacji Mapy Google na iOS. Przycisk etykieta jest zdefiniowana przez parametr x-source.
  4. Wywołaj fikcyjny schemat adresu URL (sourceapp://), gdy użytkownik kliknie przycisk Wstecz.

Swift

let testURL = URL(string: "comgooglemaps-x-callback://")!
if UIApplication.shared.canOpenURL(testURL) {
  let directionsRequest = "comgooglemaps-x-callback://" +
    "?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
    "&x-success=sourceapp://?resume=true&x-source=AirApp"

  let directionsURL = URL(string: directionsRequest)!
  UIApplication.shared.openURL(directionsURL)
} else {
  NSLog("Can't use comgooglemaps-x-callback:// on this device.")
}

Objective-C

NSURL *testURL = [NSURL URLWithString:@"comgooglemaps-x-callback://"];
if ([[UIApplication sharedApplication] canOpenURL:testURL]) {
  NSString *directionsRequest = @"comgooglemaps-x-callback://" +
      @"?daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York" +
      @"&x-success=sourceapp://?resume=true&x-source=AirApp";
  NSURL *directionsURL = [NSURL URLWithString:directionsRequest];
  [[UIApplication sharedApplication] openURL:directionsURL];
} else {
  NSLog(@"Can't use comgooglemaps-x-callback:// on this device.");
}

Uruchomienie aplikacji Mapy Google na iOS z adresu URL Map Google na komputery

Jeśli aplikacja ma dostęp do wcześniej utworzonego adresu URL w Mapach Google, np. do strony internetowej lub w bazie danych, możesz użyć tego schematu, aby otworzyć URL w aplikacji Mapy Google dla iOS, oferując użytkownikom najlepsze wrażenia natywne.

  1. Zastąp schemat http:// lub https:// elementem comgooglemapsurl://.
  2. Jeśli chcesz skorzystać z oddzwonienia, dodaj x-source i x-success . Schemat ten jest zgodny ze specyfikacją x-callback-url.

Obsługiwane formaty adresów URL w Mapach Google

Schemat comgooglemapsurl:// obsługuje adresy URL, które pasują do tego zwykłego gdzie {TLD} odnosi się do dowolnej prawidłowej domeny krajowej najwyższego poziomu. Liniowy dodaliśmy przerwy w celu uniknięcia wątpliwości:

(http(s?)://)?
((maps\.google\.{TLD}/)|
 ((www\.)?google\.{TLD}/maps/)|
 (goo.gl/maps/))
.*

Sprawdzam dostępność aplikacji Mapy Google

Najpierw sprawdź, czy aplikacja Mapy Google na iOS jest dostępna na urządzeniu. obsługuje schemat adresu URL:

Swift

UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)

Objective-C

[[UIApplication sharedApplication] canOpenURL:
   [NSURL URLWithString:@"comgooglemapsurl://"]];

Przykłady

Przykład ogólnego adresu URL w Mapach Google:

Oryginalny adres URL Map Google:

https://www.google.com/maps/preview/@42.585444,13.007813,6z

Za pomocą schematu adresu URL:

comgooglemapsurl://www.google.com/maps/preview/@42.585444,13.007813,6z

Przykład ogólnego adresu URL w Mapach Google:

Oryginalny adres URL Map Google:

https://maps.google.com/?q=@37.3161,-122.1836

Za pomocą schematu adresu URL:

comgooglemapsurl://maps.google.com/?q=@37.3161,-122.1836

Przykład prośby o wskazówki dojazdu do Tokyo Tower z wywołaniem zwrotnym x:

Oryginalny adres URL Map Google:

http://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1

Poniższy przykład pokazuje uruchomienie aplikacji Mapy Google na iOS i wyświetlenie mapy. z trasą do Tokyo Tower, zgodnie z oryginalnym adresem URL Map Google (powyżej). W aplikacji wyświetla się również przycisk oznaczony etykietą "SourceApp". Gdy komponent „SourceApp” kliknie przycisk aplikacji Mapy Google na iOS. spowoduje wywołanie zwrotne do fikcyjnego schematu adresu URL: sourceapp://?resume=true.

comgooglemapsurl://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1
    &x-source=SourceApp
    &x-success=sourceapp://?resume=true