Laden Sie Karten für Osmdroid herunter

7

Ich entwickle eine Anwendung, in der ich Karten offline verwenden muss. Ich benutze osmdroid und osmbonuspack

Um die Karten herunterzuladen, habe ich versucht:

Für mich wäre es ideal, die Karten von der Anwendung selbst herunterzuladen, und ich möchte nur die Karten herunterladen, die Sie auf einem Track haben, nicht einen kompletten Abschnitt.

Wie könnte ich es reparieren?

Gibt es eine Möglichkeit, Karten über meine Anwendung vom Telefon herunterzuladen?

    
user3292741 04.04.2014, 12:14
quelle

4 Antworten

20

Arbeitslösung mit MobileAtlasCreator / MOBAC :

Es gibt eine Osmdroid-Dokumentation , die jedoch sehr schwach und manchmal veraltet ist.

Ich habe in den folgenden Ausgaben eine Weile gekämpft. Hier sind die Details einer funktionierenden Lösung mit osmdroid v4.1.

1) Beim Erstellen Ihrer Offline-Karte mit MOBAC:

  • Da Mapnik Karten effektiv gesperrt sind, wählen Sie "OpenStreetMap MapQuest" als Quelle.
  • Atlas-Format: Wählen Sie "Osmdroid ZIP"
  • Achten Sie darauf, alle Zoomstufen zu aktivieren, die Sie benötigen. Standardmäßig sind keine ausgewählt.

Wählen Sie Ihren Bereich, erstellen Sie Ihren "Atlas". Dies erzeugt eine Zip-Datei.

Laden Sie die Zip-Datei auf Ihrem Gerät hoch, in / sdcard / osmdroid / (Der genaue Pfad kann je nach Gerät variieren. Wenn Sie bereits osmdroid verwendet haben, muss dieses Verzeichnis bereits existieren)

Der Dateiname spielt keine Rolle. Die Erweiterung muss ".zip"

sein

2) In Ihrer osmdroid-Anwendung sollte Ihre onCreate-Methode nun so aussehen:

%Vor%

In diesem Code sind 2 Parameterwerte SEHR wichtig:

"MapQuest" Name (mit dieser GENAUEN Schreibweise) ist MANDATORY = & gt; Dies wird als interner Pfad innerhalb der Zip-Datei verwendet. Wenn Sie Ihre Zip-Datei öffnen, sehen Sie, dass MOBAC dieses "MapQuest" -Verzeichnis erstellt hat.

". jpg" Erweiterung ist auch MANDATORY = & gt; da MOBAC MapQuest-Kacheln in der Zip-Datei mit der Erweiterung .jpg erstellt (wichtig zu beachten, da Standard-Kachelquellen in Osmdroid alle die Erweiterung ".png" verwenden).

In diesem Stadium sollte es in Ordnung sein, solange Sie die Kartenansicht auf einem Bereich positionieren, der Teil Ihres Atlas ist (Zoom-Level und Position).

3) Zurück zu MOBAC ... Sie können auch die folgenden Atlas-Formate wählen: "Osmdroid SQLite" oder "MBTiles SQLite". Übertragen Sie die Datei (Layer.sqlite oder Layer.mbtiles) auf das Gerät in / sdcard / osmdroid /

Auch in Ihrem XYTileSource-Konstruktor MUSS die Erweiterung ".jpg" sein. Der Name spielt keine Rolle.

Beides hat gut funktioniert.

4) Die Wahl des "Osmdroid GEMF" -Formats funktioniert nicht: Es ist ein bekannter Fehler in GEMF zum Umgang mit Jpg-Kacheln. Bearbeiten & gt; In MOBAC können Sie die Funktion "Benutzerdefinierte Kachelverarbeitung" verwenden, um JPG-Kacheln in das PNG-Format zu konvertieren. Dann wird "Osmdroid GEMF" in Ordnung sein.

    
MKer 04.04.2014, 16:43
quelle
5

Über die zweite - bevorzugte - Ansatz in der Frage gefragt: "Gibt es eine Möglichkeit, Karten über meine Anwendung vom Telefon herunterzuladen?"

= & gt; Die Antwort ist jetzt: Ja!

Von OSMBonusPack v4.6 gibt es eine CacheManager-Klasse, die es ermöglicht, die Kacheln eines (rechteckigen) Bereichs direkt von der Android-Anwendung herunterzuladen. Kacheln werden in den standardmäßigen Osmdroid-Kacheln-Cache geladen.

Es kann mit OSMNavigator getestet werden.

    
MKer 21.07.2014 16:02
quelle
4

Zunächst mal Danke MKer und Tom Kincaid von einem anderen Beitrag, die beiden zusammen. Folgendes funktioniert für mich:

Das war was ich tun musste, das ist anders als bei MKer:

%Vor%

Nach dem Erstellen der Karten mit Mobile Atlas Creator

    
user2010136 17.04.2015 18:11
quelle
0

Heute funktioniert nur OSM Map Tile Packager für Map-Tile Mapnik und es Maps in PNG, also

%Vor%

Ich bevorzuge es, einige URLs betonieren zu lassen.

    
Filipe Negrello 24.03.2017 12:40
quelle

Tags und Links