Was ist das Drahtformat für Googles neue Vektorkartenkacheln?

18

Google hat kürzlich eine neue Vektorkartografie für seine mobilen Karten veröffentlicht . Ich bin neugierig, ob jemand hier einen Einblick in das für die Übertragung verwendete Drahtformat hat. Ich habe mit ein paar Formate im Laufe der Jahre experimentierte, darunter bencode , BSON , Varianten von WKT und WKB und gzip, beschränkt präzise GeoJSON , die ich gefunden habe , der beste Kompromiss in Nachvollziehbarkeit und die Dateigröße zu sein. Ich würde gerne wissen, wofür Google sich entschieden hat, aber ich habe kein Android-Gerät zum Testen.

Michal Migurski
quelle
Sie können den obigen Release-Link erneut aufrufen. Dies ist von der Website. "Update (12:47 PM PST): Die Beschreibung des Unterschieds zwischen den Zoomstufen von Image Maps wurde überarbeitet."
Brad Nesom
Wenn Sie das Android SDK erhalten, können Sie einen Simulator ausführen, der Ihnen bei Ihrer Suche helfen kann. Die SDK-Lizenz kann jedoch solche Aktivitäten verbieten (zuerst lesen) und der Simulator kann Probleme beim Ausführen von Maps haben (es ist langsam !!)
mwalker
Ich habe es geschafft, ein paar HTTP-Antworten von einem TCP-Dump zu erhalten. Da macht es nicht viel Sinn, meine Fähigkeiten zum binären Auspacken sind ziemlich weich.
Michal Migurski
@MichalMigurski: Hast du irgendwelche Fortschritte für diese Forschung?
giser

Antworten:

3

Ich konnte die Datei nach dem Speichern auf der Festplatte in keiner Weise nachvollziehen, und ich glaube, Adam ist mit der Dekompilierungsidee auf dem richtigen Weg .

Ich konnte dekompilieren und stöbern. Der Versuch, Hunderte (vielleicht Tausende) von Klassen mit den Bezeichnungen 'a', 'b', 'c' zu sortieren, war zu viel für mich, aber ich denke, die Antwort ist für jemanden da, der sich auskennt. Ich benutze definitiv lieber nur die App!

Wenn Sie dazu neigen, die dexDatei aus der apkDatei zu entpacken und in eine JAR- Datei zu konvertieren , können Sie sie mit einem Java-Dekompiler öffnen. Dies kann legal sein oder auch nicht, abhängig von der Softwarelizenz oder dem Land, in dem Sie leben - obwohl ich auf meinem Droid keine spezifischen Informationen zu meiner App gefunden habe. Vielleicht ist es ein legaler Text für die Verwendung des Android-Betriebssystems ( in diesem Fall muss ich zurückkehren und einen Teil dieser Antwort löschen ).

Alt-Text

Jay Cummins
quelle
2

Da ich nicht wirklich hingeschaut habe, würde ich etwas erraten, das mit Protokollpuffern codiert wurde. Wahrscheinlich KML-ish, wenn ich weiter raten würde.

Seth Fitzsimmons
quelle
1
Ich war überrascht, viele POST-Anfragen anstelle von einfachen, dummen GETs zu sehen. Kann nicht herausfinden, was in ihnen ist, sie sind alle Mystery Application / Binary Blobs.
Michal Migurski
Hat "Datei" etwas zu sagen, wenn Sie sie auf der Festplatte speichern?
Seth Fitzsimmons
2

Der wahrscheinlich beste Weg, um Hilfe bei dieser Frage zu erhalten, ist das Ausleihen eines Android-Geräts, die Auswahl eines relativ spärlichen Bereichs (Zuordnungsbereich), den das Android-Gerät noch nicht angezeigt hat, die Verbindung zum lokalen drahtlosen Netzwerk und die Verwendung eines Schnüfflers zur Erfassung des Netzwerks Verkehr, wie Sie diesen Bereich auf dem Android-Gerät anzeigen.

Veröffentlichen Sie das Bild des ausgewählten Bereichs und seine Koordinaten, damit Sie bei Bedarf die Umgebung überprüfen und die Netzwerkverfolgung veröffentlichen können.

Diejenigen, die Zeit haben, es zu sezieren, haben eine bessere Chance, Ihnen nützliche Informationen zu geben, wenn Sie ihnen einen guten Datenblock wie oben übergeben.

Beachten Sie, dass die Zuordnungsdaten proprietär sind und möglicherweise verschlüsselt werden. Wenn sie es verschlüsseln, haben die Nutzer ein gewisses Gefühl der Privatsphäre, da sie wissen würden, dass nur Google ihre Standortinformationen hat und dass dies nicht einfach durch Aufspüren des Netzwerkverkehrs gefunden werden kann.

Wenn es verschlüsselt ist, ist es möglicherweise einfacher, die Google Map-Anwendung zu disassemblieren oder zu dekompilieren.

Adam Davis
quelle
1
Hier sind drei separate Antwortblobs, die ich gesehen habe und die alle in der Umgebung aufgezeichnet wurden (44.990738, -93.270514): mike.teczno.com/img/gmaps-vector/unknown-response-1.bin , mike.teczno.com/ img / gmaps-vector / unknown-response-2.bin und mike.teczno.com/img/gmaps-vector/unknown-response-3.bin
Michal Migurski