2014-07-25 15 views
18

Sto lavorando a un'app in cui desidero utilizzare l'API di Google Maps.È possibile collegare l'API di Google Maps tramite proxy inverso nella mia app?

Il problema è la connessione al server API di Google Maps non è stabile. A volte va bene, ma altre volte è bloccato perché sono in Cina.

La soluzione che ho trovato è quella di rendere tutte le richieste dell'API di Google Maps tramite un proxy inverso. Posso configurare un server come proxy inverso in America o Hong Kong dove c'è una connessione stabile con il server di Google Maps.

Quindi devo modificare gli URL di tutte le API di Google Maps nella mia app per puntare al mio proxy inverso e il proxy passerà proxy_pass tutte le richieste al server di Google Maps.

ci sono alcune domande che ho su questo:

Come potrei fare per attuare le librerie lato client? Devo cambiarli? In tal caso, posso semplicemente scaricare il file dell'API JavaScript di Google Maps e cambiare i nomi di dominio degli URL in esso contenuti nel dominio del mio server proxy?

E come andrei su app per Android e iPhone? Non sono sicuro che gli SDK Android e iPhone faranno la richiesta con il protocollo http. Se lo è, come posso sostituire i nomi di dominio delle API con il nome di dominio del mio server proxy?

Ho pensato che forse c'è un modo per catturare tutte le richieste http fatte nella mia app e modificarle prima che vengano inviate, ma dopo aver cercato su Google per un po 'ho trovato che è difficile da fare.

Quindi è possibile farlo con le app per Android e iPhone? O c'è un modo migliore per ottenerlo con un'app web?

Mi piacerebbe anche sapere che vale la pena di fare questo poiché la soluzione sembra essere piuttosto complessa e l'utilizzo dell'API di Google Maps non è una necessità perché ci sono sostituzioni nel nostro paese. Preferisco semplicemente API di Google Maps a loro grazie al suo stile API accurato e all'aspetto più grazioso delle mappe.

+0

Un'altra opzione potrebbe essere l'uso di http://mapproxy.org. Inoltre, potremmo aver bisogno di spostarlo su http://gis.stackexchange.com – Gordon

+0

Questa app è per uso personale o vuoi pubblicizzarla ?? Posso avere una soluzione, ma non può essere commercializzata –

+0

Non è per uso personale, la commercializzerò. – treblam

risposta

7

La tua soluzione è una palese violazione dei termini e condizioni di Google.

10.1.1 (a) Non è necessario accedere o utilizzare le API di Google Maps o qualsiasi Contenuto tramite tecnologia o mezzi diversi da quelli forniti nel Servizio o tramite altri mezzi esplicitamente autorizzati che Google può designare. Ad esempio, non è necessario accedere a tessere mappa o immagini tramite interfacce o canali (comprese le interfacce Google non documentate) diverse dalle API di Maps. https://developers.google.com/maps/terms

Problemi legali a parte, penso che tu abbia risposto alla tua stessa domanda. "L'API di Google Maps non è necessaria perché ci sono sostituzioni nel nostro Paese".

Ma se hai deciso di utilizzare Google Maps, puoi utilizzare le tessere con una libreria di terze parti come un opuscolo per i contenuti web. Le app mobili native sono un problema completamente diverso però ... quello che sospetto sia o: non possibile o b: non fattibile.

+0

Sono abbastanza sicuro che questo si riferisca maggiormente all'hacking o altrimenti a manipolare il modo in cui l'API restituisce i dati. Ad esempio, non puoi estrarre direttamente le informazioni sul traffico dall'API di Maps, ma probabilmente potresti trovare un modo per estrarlo da una mappa renderizzata, che violerebbe tali termini. –

Problemi correlati