Na urządzeniach z iOS 9 lub nowszym możesz używać uniwersalnych linków, aby uruchamiać Mapy Google, gdy masz adres URL Map Google.
Możesz użyć schematu URL Map Google, aby uruchomić aplikację Mapy Google na iOS i przeprowadzać wyszukiwania, uzyskiwać wskazówki dojazdu oraz wyświetlać widoki mapy. Gdy uruchamiasz Mapy Google, identyfikator pakietu jest automatycznie wysyłany w ramach żądania.
Aby korzystać ze schematu adresu URL Map Google, nie potrzebujesz klucza interfejsu API Google.
Linki uniwersalne i Mapy Google
Mapy Google na iOS obsługują uniwersalne linki na urządzeniach z iOS 9 lub nowszym.
Jeśli Twój adres URL pasuje do tego wyrażenia regularnego, a urządzenie działa w systemie iOS 9 lub nowszym, możesz bezpośrednio użyć 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"]];
Przegląd
Schemat adresu URL umożliwia uruchamianie natywnej aplikacji na iOS z innej aplikacji na iOS lub aplikacji internetowej. W adresie URL możesz ustawić opcje, które zostaną przekazane do uruchomionej aplikacji. Aplikacja Mapy Google na iOS obsługuje te schematy adresów URL:
comgooglemaps://
icomgooglemaps-x-callback://
– te schematy umożliwiają uruchomienie aplikacji Mapy Google na iOS i wykonanie jednej z kilku czynności:- Wyświetla mapę w określonej lokalizacji i na określonym poziomie powiększenia.
- wyszukiwać lokalizacje i miejsca oraz wyświetlać je na mapie;
- Poproś o wskazówki dojazdu z jednej lokalizacji do drugiej. Wskazówki dojazdu mogą być zwracane w przypadku 4 rodzajów transportu: samochodem, pieszo, rowerem i transportem publicznym.
- Dodaj nawigację do aplikacji.
- W systemie iOS 8 i starszych wersjach wywołaj funkcję zwrotną po zakończeniu działania aplikacji, używając kodu
comgooglemaps-x-callback://
. Wywołania zwrotne są często używane do przekierowywania użytkownika z powrotem do aplikacji, która pierwotnie otworzyła Mapy Google na iOS. Pamiętaj, że w systemie iOS 9 system automatycznie wyświetla link „Wróć do” w lewym rogu paska stanu.
comgooglemapsurl://
– ten schemat umożliwia uruchomienie aplikacji Mapy Google na iOS za pomocą adresu URL pochodzącego z wersji Map Google na komputery. Oznacza to, że możesz zapewnić użytkownikom natywną obsługę na urządzeniach mobilnych zamiast po prostu wczytywać stronę Map Google.- Oryginalny adres URL może być adresem
maps.google.com
lubgoogle.com/maps
albo może zawierać dowolną prawidłową domenę najwyższego poziomu zamiastcom
. Możesz też przekazywaćgoo.gl/maps
adresy URL przekierowania. - Możesz wywołać funkcję zwrotną za pomocą parametrów
x-source
ix-success
ze schematem adresu URLcomgooglemapsurl://
.
- Oryginalny adres URL może być adresem
uruchamianie aplikacji Mapy Google na iOS i wykonywanie określonej funkcji;
Aby uruchomić aplikację Mapy Google na iOS i opcjonalnie wykonać jedną z obsługiwanych funkcji, użyj schematu adresu URL w tej postaci:
comgooglemaps://?parameters
lub
comgooglemaps-x-callback://?parameters
Parametry są szczegółowo opisane w dalszej części tego dokumentu.
Sprawdzanie dostępności aplikacji Mapy Google na urządzeniu
Zanim wyświetlisz jeden z tych adresów URL użytkownikowi w aplikacji, musisz najpierw sprawdzić, czy aplikacja jest zainstalowana. Aplikacja może sprawdzić, czy schemat adresu URL jest dostępny, za pomocą tego kodu:
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ć tego kodu:
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
Użyj schematu adresu URL, aby wyświetlić mapę na określonym poziomie powiększenia i w określonej lokalizacji. Możesz też nałożyć na mapę inne widoki lub wyświetlić zdjęcia Street View.
Parametry
Wszystkie parametry podane poniżej są opcjonalne. Jeśli nie ustawisz żadnych parametrów, schemat adresu URL uruchomi aplikację Mapy Google na iOS.
center
: to punkt środkowy widoku mapy. Sformatowane jako ciąg znaków rozdzielonych przecinkamilatitude,longitude
.mapmode
: określa rodzaj wyświetlanej mapy. Może mieć wartość:standard
lubstreetview
. Jeśli nie zostanie określony, zostaną użyte bieżące ustawienia aplikacji.views
: włącza i wyłącza określone widoki. Może mieć wartość:satellite
,traffic
lubtransit
. Możesz ustawić wiele wartości, rozdzielając je przecinkami. Jeśli parametr zostanie podany bez wartości, wszystkie widoki zostaną wyczyszczone.zoom
: określa poziom powiększenia mapy.
Ten przykładowy adres URL wyświetla mapę z centrum w Nowym Jorku przy powiększeniu 14 i włączonym widokiem ruchu:
comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic
Oto kilka dodatkowych przykładów:
comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Szukaj
Użyj tego schematu, aby wyświetlać zapytania w określonej lokalizacji obszaru wyświetlania.
Parametry
Oprócz parametrów używanych do wyświetlania mapy wyszukiwarka obsługuje parametr q
.
q
: ciąg zapytania dotyczący wyszukiwania.
Ten przykładowy URL wyszukuje „pizzę” w określonej lokalizacji:
comgooglemaps://?q=Pizza¢er=37.759748,-122.427135
Oto kilka dodatkowych przykładów:
comgooglemaps://?q=Steamers+Lane+Santa+Cruz,+CA¢er=37.782652,-122.410126&views=satellite,traffic&zoom=15
comgooglemaps://?q=Google+Japan,+Minato,+Tokyo,+Japan¢er=35.660888,139.73073&zoom=15&views=transit
Wyświetlanie wskazówek
Użyj tego schematu, aby poprosić o wyświetlenie trasy między 2 lokalizacjami. Możesz też określić środek transportu.
Parametry
saddr
: ustawia punkt początkowy wyszukiwania wskazówek dojazdu. Może to być szerokość i długość geograficzna lub adres w formacie zapytania. Jeśli jest to ciąg zapytania, który zwraca więcej niż 1 wynik, zostanie wybrany pierwszy wynik. Jeśli wartość jest pusta, używana jest bieżąca lokalizacja użytkownika.daddr
: ustawia punkt końcowy wyszukiwania wskazówek dojazdu. Ma taki sam format i działanie jaksaddr
.directionsmode
: środek transportu. Może przyjmować wartości:driving
,transit
,bicycling
lubwalking
.
Przykładowy adres URL wyświetla wskazówki dojazdu transportem publicznym między Google NYC a lotniskiem JFK:
comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit
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¢er=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¢er=37.423725,-122.0877&directionsmode=walking&zoom=17
Określanie adresu URL wywołania zwrotnego
Jeśli chcesz określić adres URL wywołania zwrotnego, musisz użyć schematu adresu URL comgooglemaps-x-callback://
. Ten schemat jest zgodny ze specyfikacją x-callback-url. Gdy wywołasz aplikację Mapy Google na iOS za pomocą tego schematu, u góry ekranu pojawi się przycisk. Kliknięcie tego przycisku spowoduje wywołanie zwrotne pod podany adres URL.
Żądania wysyłane do comgooglemaps-x-callback://
muszą mieć następującą formę:
comgooglemaps-x-callback://?parameters
Parametry
Schemat adresu URL x-callback akceptuje te same parametry co schemat adresu URL comgooglemaps://
, a także te dodatkowe parametry: Oba parametry są wymagane.
x-source
– nazwa aplikacji wysyłającej żądanie x-callback. Preferowane są krótkie nazwy.x-success
– adres URL, pod który należy zadzwonić po zakończeniu. Często jest to schemat adresu URL Twojej aplikacji, który umożliwia użytkownikom powrót do pierwotnej aplikacji.
Pamiętaj, że Twoja aplikacja będzie musiała zarejestrować własny schemat adresu URL, aby móc odpowiadać na adres URL wywołania zwrotnego.
- Upewnij się, że Twoja aplikacja zarejestrowała schemat adresu URL, który może odpowiadać na żądanie wywołania zwrotnego.
- Przekaż etykietę przycisku wywołania zwrotnego w parametrze
x-source
. - Przekaż adres URL wywołania zwrotnego w parametrze
x-success
.
Poniższy przykład uruchomi aplikację Mapy Google na iOS i wyświetli mapę
z Nowym Jorkiem w centrum. Aplikacja wyświetli też przycisk o nazwie „SourceApp”.
Gdy klikniesz przycisk „SourceApp”, aplikacja Mapy Google na iOS wyśle 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
Podobnie jak w przypadku comgooglemaps://
schematu URL najpierw sprawdź, czy aplikacja Mapy Google na iOS jest dostępna na urządzeniu i obsługuje schemat URL x-callback. Aplikacja może sprawdzić, czy schemat adresu URL jest dostępny, za pomocą tego kodu:
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 umożliwia użytkownikom powrót do aplikacji po wyszukaniu deseru.
comgooglemaps-x-callback://?q=dessert¢er=37.759748,-122.427135
&x-success=sourceapp://?resume=true
&x-source=Nom+Nom
Dodawanie nawigacji do aplikacji
Uruchamianie aplikacji Mapy Google na iOS z prośbą o wskazówki dojazdu to prosty sposób na udostępnienie użytkownikom nawigacji zakręt po zakręcie z poziomu aplikacji. Możesz użyć schematów URL comgooglemaps://
lub comgooglemaps-x-callback://
.
Ten fragment kodu pokazuje, jak użyć schematu comgooglemaps-x-callback://
, aby poprosić o wskazówki dojazdu, a potem wrócić do aplikacji, gdy użytkownik będzie gotowy. Kod wykona te działania:
- Sprawdź, czy schemat adresu URL
comgooglemaps-x-callback://
jest dostępny. - Uruchom aplikację Mapy Google na iOS i poproś o wskazówki dojazdu na lotnisko JFK w Nowym Jorku. Aby poprosić o wskazówki dojazdu z bieżącej lokalizacji użytkownika, pozostaw adres początkowy pusty.
- Dodaj do aplikacji Mapy Google na iOS przycisk o nazwie „AirApp”. Etykietę przycisku określa parametr
x-source
. - Wywołaj fikcyjny schemat 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.");
}
Uruchamianie aplikacji Mapy Google na iOS z poziomu adresu URL Map Google na komputerze
Jeśli Twoja aplikacja ma dostęp do istniejącego adresu URL Map Google, np. na stronie internetowej lub w bazie danych, możesz użyć tego schematu, aby otworzyć adres URL w aplikacji Mapy Google na iOS, zapewniając użytkownikom najlepsze wrażenia.
- Zastąp schemat
http://
lubhttps://
schematemcomgooglemapsurl://
. - Jeśli chcesz użyć wywołania zwrotnego, dodaj parametry
x-source
ix-success
. Ten schemat jest zgodny ze specyfikacją x-callback-url.
Obsługiwane formaty adresów URL w Mapach Google
Schemat comgooglemapsurl://
obsługuje adresy URL pasujące do tego wyrażenia regularnego, gdzie {TLD}
odnosi się do dowolnej prawidłowej domeny najwyższego poziomu kraju. Aby zwiększyć przejrzystość, dodaliśmy znaki końca wiersza:
(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 i 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 Map Google:
Pierwotny URL w Mapach Google:
https://www.google.com/maps/preview/@42.585444,13.007813,6z
Korzystanie ze schematu adresu URL:
comgooglemapsurl://www.google.com/maps/preview/@42.585444,13.007813,6z
Przykład ogólnego adresu URL Map Google:
Pierwotny URL w Mapach Google:
https://maps.google.com/?q=@37.3161,-122.1836
Korzystanie ze schematu adresu URL:
comgooglemapsurl://maps.google.com/?q=@37.3161,-122.1836
Przykład prośby o wskazówki dojazdu do wieży Tokyo Tower z użyciem x-callback:
Pierwotny URL w Mapach 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 uruchomi aplikację Mapy Google na iOS i wyświetli mapę ze wskazówkami dojazdu do Tokyo Tower, zgodnie z oryginalnym adresem URL Map Google (powyżej). W aplikacji pojawi się też przycisk o nazwie „SourceApp”. Gdy klikniesz przycisk „SourceApp”, aplikacja Mapy Google na iOS wyśle 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