Hors ligne implique l'absence d'internet, l'iPhone est toujours capable, dans la plupart des cas, d'obtenir la position actuelle de l'utilisateur grâce au GPS. Cela signifie que vous pouvez être certain de pouvoir trouver l'emplacement actuel de l'utilisateur hors ligne.
Le problème avec le routage hors ligne est que le téléphone est stupide, il ne se souvient que de la quantité x de MB de données en termes de tuiles à afficher.
Le routage est quelque chose de complètement différent, il prend un point A et un point B et détermine le chemin le plus court, le plus rapide, le moins cher ou tous ces chemins entre A et B.
Il faut beaucoup plus que des tuiles pour y parvenir, après tout, si vous pensez en termes de MVC, les tuiles ne sont que des vues de décharge, elles ne savent pas grand-chose de ce qui les entoure, sauf ce qu'elles contiennent. C'est le "contrôleur" qui calcule les itinéraires, et pour cela, vous devez être en possession de toutes les données couvrant la zone souhaitée pour le routage.
Pour chaque service de cartographie, vous trouverez un itinéraire différent, peut-être pas en termes de chemin réel, mais en termes de temps estimé, d'effort, etc. Ce que cela signifie, c'est que si vous avez vos propres cartes (hors ligne dans une base de données), c'est à vous d'utiliser ces données, et vous devez donc créer votre propre algorithme de routage, ce qui, j'en suis sûr, n'est pas ce que vous voulez faire.
Quelles sont donc vos options ? Pour l'instant, ce n'est tout simplement pas possible dans la mesure où vous le souhaitez. Même si vous disposez d'une base de données de cartes hors ligne, vous avez toujours besoin d'un algorithme de routage.