2016-03-24 7 views
0

Ich möchte eine Anwendung, die mit Offline-Karten arbeitet entwickeln, und ich muss in der Lage sein:Ist es möglich, verschiedene APIs zu mischen, die auf einer einzigen Bibliothek basieren?

  • Geocode
  • Strecke zwischen zwei Koordinaten
  • berechnen Abstand zwischen zwei Koordinaten
  • Suche Orte mit autocomplete

Das sind also ziemlich schwierige Aufgaben, da sie alle offline arbeiten müssen. Ich habe viele Apis gefunden, wie MapsMe oder MapsForge, die alle sagen, dass sie auf der osm-Bibliothek basieren. Bedeutet das, dass ich diese Apis "mischen" und sie auf einer einzigen Karte arbeiten lassen könnte? Zum Beispiel: die schöne Karte von MapsMe verwenden und das Routing-System von MapsForge auf der gleichen Karte

Dank

Antwort

0

Alles, was möglich ist.

Das heißt, sie alle können die gleichen source Daten verwenden (offene Straßenkarten), aber Osmdroid und MapsForge verarbeiten sie anders vor. Osmdroid normalerweise nur displays vorgerenderten Kacheln entweder über einen Server oder mit Mapsforge. Osm Bonus Pack fügt Routing mit Online-Quellen (und nur Online-Quellen) hinzu.

Mapsforge verarbeitet die osm-Daten in ein intermediäres Datenbankformat vor. Kacheln werden dann bei Bedarf auf dem Gerät gerendert. POI-Informationen benötigen, soweit ich feststellen konnte, eine andere separate Datenbank. Die letzten, die ich überprüfte, hatten keine Routing-Fähigkeit, aber sie arbeiteten daran, POI-Informationen in ihr mittleres Datenbankformat zu bekommen. Der beste Ort für Informationen dazu ist die Mapsforge Github-Site.

Die Berechnung der geraden Linie zwischen zwei Punkten ist trivial und erfordert keine Karten-Engine. Es ist nur Mathe. Die Entfernung entlang einer Route ist auch eine gerade Karte, solange Sie die Menge der Punkte haben. Vergiss den Faktor in der Erdkrümmung nicht.

Geocoding, konvertieren ein lat/lon zu einer ungefähren oder genauen Adresse und wieder zurück kann mit den Osm-Daten getan werden, aber ich bin mir nicht bewusst, dass irgendetwas kann dies offline für den gesamten Planeten tun.

Sie müssen auch Rücksicht auf das geografische Gebiet nehmen. Osm Daten sind riesig, um 40GB für den Planeten, komprimiert. Natürlich müssen Sie die Daten irgendwie unterteilen.

+0

Danke für Ihre Antwort! Nur ein paar Präzisierungen: Ich brauche Offline-Karten für eine wirklich kleine Fläche, eigentlich nur für Paris (vorerst), und wenn du sagst "solange du die Punktezahl hast", meinst du, dass ich all das bekommen kann Punkte, die durch Routen zwei Koordinaten trennen, offline? Würde das bedeuten, dass ich Vektoren zwischen jedem Punkt zeichnen und mein eigenes Routing-System erstellen könnte? –

Verwandte Themen