Oui, il existe, mais pour le faire correctement, il faut un Jailbreak (légal, annule la garantie) et une possible violation des TOS de Google Maps.
Le cache peut être utilisé dans une certaine mesure : L'application Google Maps utilise son cache hors ligne, de sorte que les dalles sont visibles et que la carte peut être légèrement balayée (si elle a été balayée en ligne et qu'elle a pu récupérer les dalles voisines). Les itinéraires sont conservés dans le vue en liste même si vous ne pouvez pas les suivre tous en vue de la carte.
Si vous voulez plus que cela, ce n'est pas intégré par défaut. Si vous Jailbreak, vous pouvez le pirater pour avoir un cache beaucoup plus grand qui supporte des centaines de Mo de contenu, y compris les niveaux de zoom, etc.
Le mettre en place serait un piratage important et contre les TOS de Google Maps. En ligne, vous devrez renifler vos propres paquets à partir de l'iPhone, détecter ceux qui impliquent Google Maps et créer un cache. Hors ligne, vous devrez rediriger toutes les demandes adressées aux serveurs de Google Maps vers un serveur HTTP local fonctionnant sur l'iPhone, puis servir les tuiles.
J'ai déjà vu cela avec un ordinateur qui était souvent hors ligne, mais pas avec un iPhone, mais cela devrait fonctionner parfaitement. Vous pouvez également ajouter des couches de tuiles personnalisées de cette façon si vous le souhaitez.