Come memorizzare nella cache le tessere della mappa di Google per l’utilizzo offline?

Come le mappe OVI di Nokia possono essere usate offline, ci deve essere anche un modo per mettere in cache le tessere della mappa di Google. Qualche suggerimento?

Se stai tentando di memorizzare nella cache le tessere fornite da Google, potrebbe trattarsi di una violazione dei Termini di servizio di Google (a meno che, in determinate circostanze, non abbia acquistato l’API di Google Maps Enterprise Premier). Ecco perché gmapcatcher ha cancellato la lista. Vedi http://code.google.com/p/gmapcatcher/issues/detail?id=210 .

All’URL gmapcatcher sopra, troverai anche uno script di shell che può scaricare le tessere (o almeno così dice il suo autore).

Ci sono anche altri progetti che cercano di rendere Google Maps disponibile offline:

http://code.google.com/p/ogmaps/

http://code.google.com/p/gmapoffline/

Infine, se Google Earth è in grado di soddisfare le tue esigenze, puoi utilizzarlo. L’utilizzo offline di Google Earth richiede una licenza di Google Earth Enterprise in base a http://www.google.com/permissions/geoguidelines.html .

Nota che la pagina precedente dice anche: “Non puoi raschiare o esportare in altro modo contenuti da Google Maps o Earth o salvarli per l’utilizzo offline.” Quindi, se provi a mettere in cache le tessere, questo sarà quasi certamente considerato (da Google, in ogni caso) una violazione dei Termini di servizio.

Sfortunatamente, ho trovato questo link che sembra indicare che non possiamo memorizzarli in cache localmente, rendendo quindi questa domanda discutibile.

http://support.google.com/enterprise/doc/gme/terms/maps_purchase_agreement.html

4.4 Limitazioni della cache. Il Cliente non può pre-recuperare, recuperare, memorizzare nella cache , indicizzare o archiviare qualsiasi Contenuto, o parte dei Servizi, ad eccezione del fatto che il Cliente può memorizzare quantità limitate di Contenuti esclusivamente per migliorare le prestazioni dell’implementazione del Cliente a causa della latenza della rete, e solo se il Cliente lo fa in modo temporaneo, sicuro e in un modo che (a) non consente l’uso del Contenuto al di fuori dei Servizi; (b) è solo basato sulla sessione (una volta chiuso il browser, qualsiasi spazio di archiviazione aggiuntivo è vietato); (c) non manipola o aggrega alcun Contenuto o porzione dei Servizi; (d) non impedisce a Google di tracciare accuratamente le Visualizzazioni di pagina; e (e) non modifica o regola l’attribuzione in alcun modo.

Sembra quindi che non possiamo usare le mappe della mappa di Google offline, legalmente.

aggiornare:

Ho trovato i termini di utilizzo da Google Map:

Sezione 10.5

Nessuna memorizzazione nella cache o archiviazione. L’utente non preleverà, memorizzerà in cache, indicizzerà o memorizzerà alcun Contenuto da utilizzare al di fuori del Servizio, tranne che è ansible memorizzare quantità limitate di Contenuto esclusivamente allo scopo di migliorare le prestazioni dell’API di Maps a causa della latenza della rete (e non allo scopo di impedire a Google di tracciare accuratamente l’utilizzo), e solo se tale archiviazione: è temporanea (e in nessun caso più di 30 giorni di calendario); è sicuro; non manipola o aggrega alcuna parte del Contenuto o del Servizio; e non modifica l’attribuzione in alcun modo.

Significa che possiamo memorizzare nella cache per un tempo limitato in realtà

Su http://www.google.com/earth/media/licensing.html c’è una sezione “Mobile” contenente:

Analogamente ai nostri termini online, se utilizzi le nostre API o l’implementazione nativa di Google Maps per dispositivi mobili (ad esempio su un telefono o iPhone con tecnologia Android), non è richiesto alcun permesso speciale, ma devi sempre mantenere il nome Google visibile. Il caching offline del nostro contenuto non è mai consentito.

Vuoi usare un indice spaziale. Riduce la complessità 2d a una complessità 1d e viene utilizzata in molte applicazioni di mapping. Puoi scaricare la mia curva hilbert di php class su phpclasss.org. Molto più semplice è la curva z. Converti le coordinate X e Y in binario e quindi concatena entrambi i valori. Il limite superiore è i bit importanti. Quindi utilizzare i quad per la struttura delle cartelle sul disco, ad esempio: 1/2/3 / / 4 è il percorso per le tessere del primo livello.

Puoi usare Open Street Map: troverai decine di diversi livelli e tipi di mappe, e questo è assolutamente gratuito. Puoi scaricare tutte le tessere della mappa che desideri. E, naturalmente, poiché chiunque può migliorare la mappa, visualizza più informazioni rispetto alle mappe di Google. Se hai bisogno di aiuto, puoi chiedere alla comunità che è anche molto triggers.

Sulle piattaforms Android, Oruxmaps ( http://www.oruxmaps.com ) fa un ottimo lavoro nel caching di tutte le fonti WMS. È disponibile nel Play Store. Lo uso quotidianamente in aree remote senza connettività, funziona come un incantesimo.