Sui dispositivi con iOS 9 e versioni successive, puoi utilizzare Link universali per avviare Google Maps quando disponi di un URL di Google Maps.
Puoi utilizzare lo schema URL di Google Maps per avviare lo strumento App Google Maps per iOS ed eseguire ricerche, ottenere indicazioni stradali richieste e vengono mostrate le visualizzazioni mappa. Quando avvii Google Maps, il pacchetto viene inviato automaticamente come parte della richiesta.
Non è necessaria una chiave API di Google per utilizzare lo schema URL di Google Maps.
Link universali e Google Maps
Google Maps per iOS supporta Universale Link su dispositivi con iOS 9 o versioni successive.
Se l'URL corrisponde alla seguente espressione regolare e il dispositivo è in esecuzione iOS 9 o versioni successive, ti consigliamo di utilizzare direttamente il metodo openURL:.
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
Ad esempio,
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"]];
Panoramica
Uno schema URL ti consente di avviare un'applicazione iOS nativa da un'altra app per iOS o un'applicazione web. Puoi impostare le opzioni nell'URL che verrà trasmesso alla è stata avviata. L'app Google Maps per iOS supporta i seguenti URL schemi:
comgooglemaps://
ecomgooglemaps-x-callback://
: questi schemi di avviare l'app Google Maps per iOS ed eseguire una delle varie azioni:- Visualizza una mappa in una posizione e un livello di zoom specificati.
- Cercare luoghi o luoghi e visualizzarli su una mappa.
- Richiesta di indicazioni stradali da una località a un'altra. Le indicazioni stradali possono essere restituite per quattro modalità di trasporto: in auto, a piedi, in bicicletta e pubblica trasporto pubblico.
- Aggiungi la navigazione alla tua app.
- Tramite iOS 8, puoi richiamare una volta completata l'app, utilizzando
comgooglemaps-x-callback://
I callback sono spesso usati per Rimandano l'utente all'app che ha aperto in origine Google Maps per iOS. Tieni presente che su iOS 9, il sistema fornisce automaticamente un pulsante link nell'angolo sinistro di sulla barra di stato.
comgooglemapsurl://
: questo schema ti consente di avviare l'app Google Maps per iOS utilizzando un URL derivato dal sito web desktop di Google Maps. Ciò significa che puoi offrire agli utenti un'esperienza nativa per dispositivi mobili anziché caricamento del sito web di Google Maps.- L'URL originale può essere per
maps.google.com
o pergoogle.com/maps
, o l'utilizzo di un dominio nazionale di primo livello valido al posto dicom
. Puoi anche trasmetteregoo.gl/maps
URL di reindirizzamento. - Puoi chiedere una richiamata utilizzando i
x-source
ex-success
parametri con lo schema URLcomgooglemapsurl://
.
- L'URL originale può essere per
Avvio dell'app Google Maps per iOS e svolgimento di una funzione specifica
Per avviare l'app Google Maps per iOS e, se vuoi, eseguire una delle per le funzioni supportate, utilizza uno schema URL nel formato seguente:
comgooglemaps://?parameters
oppure:
comgooglemaps-x-callback://?parameters
I parametri sono descritti in dettaglio più avanti in questo documento.
Verifica della disponibilità dell'app Google Maps sul dispositivo in corso...
Prima di presentare uno di questi URL a un utente nella tua app, devi e verificare che l'applicazione sia installata. La tua app può controllare che l'URL è disponibile con il seguente codice:
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps://"]];
Ad esempio, per visualizzare una mappa di Central Park a New York, puoi utilizzare la codice seguente:
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://");
}
Visualizzazione di una mappa
Utilizza lo schema URL per visualizzare la mappa a un livello di zoom e a una posizione specifici. Puoi anche sovrapporre altre visualizzazioni alla mappa o visualizzare immagini di Street View.
Parametri
Tutti i parametri descritti di seguito sono facoltativi. Se non viene impostato alcun parametro, Con lo schema URL verrà avviata l'app Google Maps per iOS.
center
: il punto centrale dell'area visibile della mappa. Formattata come virgola stringa separata dilatitude,longitude
.mapmode
: imposta il tipo di mappa mostrata. Può essere impostato su:standard
oppurestreetview
. Se non specificato, le impostazioni correnti dell'applicazione saranno in uso.views
: attiva/disattiva visualizzazioni specifiche. Può essere impostato su:satellite
,traffic
otransit
. È possibile impostare più valori utilizzando un separatore di virgola. Se il parametro viene specificato senza alcun valore, cancella tutte le visualizzazioni.zoom
: specifica il livello di zoom della mappa.
Questo URL di esempio mostra la mappa centrata su New York a zoom 14 con la visualizzazione traffico su:
comgooglemaps://?center=40.765819,-73.975866&zoom=14&views=traffic
Ecco alcuni esempi aggiuntivi:
comgooglemaps://?center=37.788463,-122.392545&zoom=12
comgooglemaps://?center=46.414382,10.013988&mapmode=streetview
Cerca
Utilizza questo schema per visualizzare le query di ricerca in una posizione specifica dell'area visibile.
Parametri
Oltre ai parametri utilizzati per visualizzare una mappa, la Ricerca supporta il q
.
q
: la stringa di query per la ricerca.
Questo URL di esempio per le ricerche di "Pizza" intorno alla località specificata:
comgooglemaps://?q=Pizza¢er=37.759748,-122.427135
Ecco alcuni esempi aggiuntivi:
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
Visualizzazione delle indicazioni stradali
Utilizza questo schema per richiedere e visualizzare le indicazioni stradali tra due sedi. Puoi anche specificare la modalità di trasporto.
Parametri
saddr
: imposta il punto di partenza per le ricerche di indicazioni stradali. Può essere latitudine,longitudine o un indirizzo in formato query. Se si tratta di una query che restituisce più di un risultato, il primo sarà selezionato. Se il valore viene lasciato vuoto, la posizione attuale dell'utente .daddr
: imposta il punto di arrivo per le ricerche di indicazioni stradali. Ha il valore stesso formato e comportamento disaddr
.directionsmode
: metodo di trasporto. Può essere impostato su:driving
,transit
,bicycling
owalking
.
L'URL di esempio mostra le indicazioni di trasporto pubblico tra Google NYC e l'aeroporto JFK:
comgooglemaps://?saddr=Google+Inc,+8th+Avenue,+New+York,+NY&daddr=John+F.+Kennedy+International+Airport,+Van+Wyck+Expressway,+Jamaica,+New+York&directionsmode=transit
Ecco alcuni esempi aggiuntivi:
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
Specifica un URL di callback
Se vuoi specificare un URL di callback, devi utilizzare il metodo
Schema URL comgooglemaps-x-callback://
. Questo schema aderisce alle
specifica x-callback-url. Quando chiami l'app Google Maps per iOS
con questo schema, l'app mostrerà un pulsante nella parte superiore
sullo schermo. Se tocchi questo pulsante, verrà richiamato un URL che
che hai specificato.
Le richieste inviate a comgooglemaps-x-callback://
devono avere il formato:
comgooglemaps-x-callback://?parameters
Parametri
Lo schema URL x-callback accetta gli stessi parametri di comgooglemaps://
schema URL, con i seguenti parametri aggiuntivi. Entrambi i parametri sono
obbligatorio.
x-source
: il nome dell'applicazione che invia l'x-callback. richiesta. È preferibile utilizzare i nomi brevi.x-success
: l'URL da chiamare al termine dell'operazione. Spesso Essere uno schema URL per la tua app, che consenta agli utenti di tornare alla versione un'applicazione.
Tieni presente che la tua app dovrà registrare il proprio schema URL per poter rispondi all'URL di callback.
- Assicurati che l'applicazione abbia registrato uno schema URL in grado di rispondere alla richiesta di callback.
- Passa l'etichetta per il pulsante di callback nel parametro
x-source
. - Trasmetti l'URL di callback nel parametro
x-success
.
Nell'esempio seguente viene avviata l'app Google Maps per iOS e viene visualizzata una mappa
incentrata su New York. L'app mostrerà anche un pulsante con l'etichetta "SourceApp".
Quando la colonna "SourceApp" viene fatto clic sul pulsante, l'app Google Maps per iOS emette
un callback a uno schema URL fittizio, sourceapp://?resume=true
.
comgooglemaps-x-callback://?center=40.765819,-73.975866&zoom=14
&x-success=sourceapp://?resume=true
&x-source=SourceApp
Come per lo schema URL comgooglemaps://
, devi prima verificare che
l'app Google Maps per iOS è disponibile sul dispositivo e supporta
lo schema URL x-callback. La tua app può controllare che lo schema URL sia disponibile
con il seguente codice:
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemaps-x-callback://"]];
Ecco un esempio di URL che consente agli utenti di tornare a un'app dopo aver cercato dolce.
comgooglemaps-x-callback://?q=dessert¢er=37.759748,-122.427135
&x-success=sourceapp://?resume=true
&x-source=Nom+Nom
Aggiunta della navigazione all'app
Avviare l'app Google Maps per iOS con una richiesta di indicazioni stradali è un modo semplice
Consenti agli utenti di accedere alla navigazione passo passo dalla tua app. Puoi utilizzare
gli schemi URL comgooglemaps://
o comgooglemaps-x-callback://
.
Questo snippet di codice mostra come utilizzare lo schema comgooglemaps-x-callback://
per
richiedere indicazioni stradali e tornare alla tua app quando l'utente è pronto. La
del codice:
- Verifica che lo schema URL
comgooglemaps-x-callback://
sia disponibile. - Avvia l'app Google Maps per iOS e richiedi le indicazioni stradali per l'aeroporto JFK a nella città di New York. Lascia vuoto l'indirizzo di partenza per richiedere le indicazioni stradali dalla la posizione attuale dell'utente.
- Aggiungi un pulsante con l'etichetta "AirApp" all'app Google Maps per iOS. Il pulsante
l'etichetta viene definita dal parametro
x-source
. - Richiama
sourceapp://
, lo schema URL fittizio quando l'utente fa clic sullo Indietro.
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.");
}
Avvio dell'app Google Maps per iOS da un URL per desktop di Google Maps
Se la tua app ha accesso a un URL di Google Maps preesistente, ad esempio a una pagina web o in un database, puoi utilizzare questo schema per aprire l'URL nell'app Google Maps per iOS, offrendo così agli utenti la migliore esperienza nativa.
- Sostituisci lo schema
http://
ohttps://
concomgooglemapsurl://
. - Se vuoi utilizzare un callback, includi
x-source
ex-success
parametri. Questo schema è conforme alla specifica x-callback-url.
Formati URL di Google Maps supportati
Lo schema comgooglemapsurl://
supporta gli URL che corrispondono a questa
dove {TLD}
si riferisce a qualsiasi dominio nazionale di primo livello valido. A linee
vengono aggiunte per chiarezza:
(http(s?)://)?
((maps\.google\.{TLD}/)|
((www\.)?google\.{TLD}/maps/)|
(goo.gl/maps/))
.*
Verifica della disponibilità dell'app Google Maps in corso...
Verifica innanzitutto che l'app Google Maps per iOS sia disponibile sul dispositivo e supporta lo schema URL:
Swift
UIApplication.shared.canOpenURL(URL(string:"comgooglemaps-x-callback://")!)
Objective-C
[[UIApplication sharedApplication] canOpenURL:
[NSURL URLWithString:@"comgooglemapsurl://"]];
Esempi
Esempio di URL generico di Google Maps:
URL originale di Google Maps:
https://www.google.com/maps/preview/@42.585444,13.007813,6z
Con lo schema URL:
comgooglemapsurl://www.google.com/maps/preview/@42.585444,13.007813,6z
Esempio di URL generico di Google Maps:
URL originale di Google Maps:
https://maps.google.com/?q=@37.3161,-122.1836
Con lo schema URL:
comgooglemapsurl://maps.google.com/?q=@37.3161,-122.1836
Esempio di richiesta di indicazioni stradali per la Tokyo Tower con x-callback:
URL originale di Google Maps:
http://maps.google.com/maps?f=d&daddr=Tokyo+Tower,+Tokyo,+Japan&sll=35.6586,139.7454&sspn=0.2,0.1&nav=1
Nell'esempio seguente viene avviata l'app Google Maps per iOS e viene visualizzata una mappa
con le indicazioni per la Tokyo Tower, come specificato nell'URL originale di Google Maps
(sopra). L'app mostrerà anche un pulsante con l'etichetta
"SourceApp". Quando la colonna "SourceApp" viene fatto clic, l'app Google Maps per iOS
emetterà un callback a uno schema URL fittizio, 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