googlemapsDa ich ohne Handydatenflatrate unterwegs bin, ist die Integration von GoogleMaps in das iPhone für meine Zwecke eher sinnfrei. Glücklicherweise ist es möglich Kartenausschnitte von GoogleMaps auf dem PC in ein iPhone-verträgliches Format umzuwandeln, anschließend auf das iPhone zu kopieren (ja, auch hierfür ist ein entfesseltes iPhone Voraussetzung) und anschließend in GoogleMaps zu importieren. So kann ich auch ohne bestehende Internetverbindung einen Stadtplan (natürlich für lau) in der Hosentasche haben. (GoogleWatchBlog hat darüber vor geraumer Zeit informiert.)

Zwei Bemerkungen vorweg:

  • Mit Firmware 2.2 scheint Apple auch das Datenformat für die GoogleMaps-Anwendung geändert zu haben. Auf der Homepage des OfflineTools wird ein Programm eines russischen Programmierers erwähnt, das den Berichten zufolge kleinere Datenbanken in das neue Format konvertieren kann. Ich habe es nicht getestet, da ich genau aus diesen Gründen (insbesondere nicht zwingend notwendige) Updates gerne herauszögere.
  • Das GDML-Tool ist mit Abstand das unübersichtlichste Programm, das mir in meinem kurzen Erdendasein über den Weg gelaufen ist. Zum Glück braucht man die meisten Funktionen nicht. Also nicht erschrecken:
  • gmdl

Und so funktioniert’s (es gibt auch ein Video-Tutorial bei youtube, aber das ist ziemlich anstrengend):

  • Für das iPhone benötigt man OfflineMaps, das sich bei Cydia finden lässt

Anschließend GDML entpacken und die Datei GMDL\bin\Debug\Global Map Download Tool.exe starten. Bis auf die folgenden Einstellungen können alle Optionen bei den Standardeinstellungen belassen werden.

Im Browserfenster trägt man nun die gewünschte Stadt ein, in meinem Beispiel ist das das beschauliche Darmstadt

    gmdl_stadt

Anschließend klickt man links oben auf die Schaltfläche “Download The Map” (ich musste im Fenster scrollen, damit die Schaltfläche ins Bild kam):

gmdl_download

Im folgenden Dialog gibt man ein zwingend leeres Verzeichnis an und im nächsten Dialog nicht gewünschte Gebiet abwählen, sowie einstellen welche Zoomstufen heruntergeladen werden sollen. 1x als höchstauflösende Zoomstufe ist nicht zwingend notwendig, allerdings sind auf der nächstkleineren Zoomstufe auch nicht alle kleineren Sträßchen beschriftet. Zum Fortfahren klickt man auf die riesige (und als Titelleiste missbrauchte) Schaltfläche oben).

Jetzt wird die ausgewählte Karte heruntergeladen, der Fortschritt steht in der Titelleiste des Programms. Je nach Größe dauert das und wird Gerüchten zufolge auch von spontanen Downloadabbrüchen begleitet, da Google bei zu großem Datenanfragen manchmal den Hahn zudreht. Für die verhältnismäßig mickrige Darmstadtkarte ist das jedenfalls bei mir nicht aufgetreten.

Nach dem erfolgreichen Download (ein kleines Fenster informiert darüber) klickt man rechts oben auf die Schaltfläche Iphone:

gmdl_iphone

Im neuen Fenster kann man das Ausgabeverzeichnis mittels der “Set dir”-Schaltfläche ändern. Standardmäßig werden die iPhone-Kartendaten auf dem Desktop ausgegeben. Will man die Kartendaten in höchster Zoomstufe auch einschließen lassen, muss man das Häkchen vor No 1x Maps entfernen. Ein Klick auf die Process-Schaltfläche startet die Konvertierung.

Es wurden im Zielverzeichnis nun zwei Dateien mit insgesamt ~63 MB Größe angelegt:

com.apple.Maps.plist und MapTiles.sqlitedb

Diese transferiert man nun bspw. mit WinSCP oder DiskAid nach \var\mobile\Media\Maps\DA (Die Verzeichnisse “Map” und das Unterverzeichnis DA (natürlich nach Bedarf benennen) müssen erst angelegt werden.)

offlinemaps

Anschließend startet man OfflineMaps auf dem iPhone, die neue Karte sollte nun angezeigt werden. Tippt man darauf, kann man die Karte einrichten und zwischen Verlinken und Kopieren wählen. Verlinken erstellt lediglich einen Softlink für die GoogleMaps-Anwendung, sodass das Programm die manuell heruntergeladenen Dateien auch findet. Mit Kopieren werden die Dateien tatsächlich an den Ort kopiert, an dem die GoogleMaps-Anwendungen die beiden Dateien erwartet. Die Kopieren-Methode ist daher deutlich langsamer. Ich vermute mal, dass die GoogleMaps-Anwendung beim zukünftigen Verwenden der Anwendung im Online-Modus den Cache überschreibt. In diesem Fall wäre die Kopieren-Methode von Vorteil. Anders kann ich mir die Existenz dieser Funktion auch nicht erklären.

Jedenfalls kann die Darmstadt-Karte nun auch ohne Internetverbindung vollwertig verwendet werden, indem im folgenden Dialog auf “Karten” getippt wird. Das nenne ich doch mal nett.