Forza MapKit utilizzare le piastrelle mappa cache solo / rete disabilita programmazione

voti
11

Abbiamo inciampato su un tale problema.

Stiamo sviluppando una domanda di viaggio. Per assicurarsi che l'utente non spendere molto denaro sulle tariffe di roaming nella nostra applicazione, abbiamo deciso di implementare una soluzione impostazioni per l'utente di visualizzare solo le mappe nella cache. Quindi lasciamo l'utente a decidere se vuole caricare le mappe da internet o vuole risparmiare denaro e visualizzare le mappe nella cache (memorizzato in Library / Caches / MapTiles / MapTiles.sqlitedb).

Non possiamo trovare un modo per implementare questo. C'è un modo per disattivare rete a livello di codice in questo caso? O l'uso MapKit forza piastrelle memorizzato nella cache solo? Abbiamo pensato di cambiare APN a livello di codice per questa opzione per forzare MapKit andare offline. E 'possibile cambiare APN di programmazione?

Grazie!

È pubblicato 24/12/2009 alle 19:02
fonte dall'utente
In altre lingue...                            


4 risposte

voti
4

applicazioni iPhone SDK non hanno accesso alle impostazioni della scheda di rete, e so di nulla nel API MapKit che offre un controllo sul suo utilizzo di Internet. L'opzione migliore in questo caso è probabilmente quello di presentare un avviso che suggerisce che l'utente attiva la modalità aereo o disattivare il roaming dei dati.

Risposto il 24/12/2009 a 21:58
fonte dall'utente

voti
2

utilizzare OpenStreetMap pensano che il lato commerciale di esso Cloud-fatto consente mappe offline

http://developers.cloudmade.com/projects/show/iphone-sdk

Le biblioteche che aiutano gli sviluppatori di iPhone utilizzano le mappe OSM route-me è una libreria open-source utilizzato in una serie di applicazioni per iPhone per visualizzare le mappe OSM. L'iPhone Maps Biblioteca CloudMade è una libreria open source che fornisce l'accesso ad alto livello alle piastrelle mappa OSM-based di CloudMade con differenti formati e stili differenti. John McKerrell ha portato l'algoritmo di routing da Gosmore per funzionare su iPhone e ha generato con successo percorsi di base. percorsi più complicati in crash l'iPhone in questo momento

Risposto il 14/07/2010 a 13:07
fonte dall'utente

voti
0

Ci sono alcuni modi. Uno è quello di utilizzare la propria tegola sovrapposizione e implementare l'algoritmo di caching sia in URLForTilePath: o in loadTileAtPath: risultato:

Funziona molto bene con il dominio aperto e alcune quelli privati. Non memorizzare nella cache le mappe standard di Apple.

Un altro modo che sarà in grado di memorizzare nella cache tutto è sottoclasse NSURLProtocol. Ci sono alcuni tutorial e probabilmente si può rilevare quando è un'immagine mappa e agire di conseguenza

Risposto il 18/02/2015 a 21:39
fonte dall'utente

voti
-1

la mappa app Google fa la funzionalità di cache ... MapKit sembra no, penso che Apple aggiungerà questa funzione in prossima versione SDK ...

Risposto il 25/12/2009 a 06:48
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more