piątek, grudnia 31, 2010

Google Maps 5.0 na Androidzie 1.6 wcale nie używa wektorowych map :-(

Dalsze zabawy z podsłuchiwaniem ;-) Tym razem Google Maps w Androidzie 1.6.

Pisałem tu kiedyś, że wydaje mi się, że Google Maps w wersji 5.0 na Androidzie 1.6 wcale, a wcale nie używają grafiki wektorowej.... i wydaje mi się, że tak rzeczywiście jest.

Przy pomocy Wiresharka i emulatora Androida 1.6 z obrazem Google Dev Phone 1 (czyli takim w którym znajdują się aplikacje Google takie jak Android Market czy Google Maps) podsłuchałem najpierw Google Maps w wersji 4.5.

I jak to wygląd? W Google Maps 4.5 w Android 1.6 mamy najpierw odwołanie do mobilemaps.clients.google.com z przesłaniem w treści requesta ciągu "4.5.1.65"

W odpowiedzi mamy jakiś Google'owy format, w którym siedzi "ukryty" PNG (teraz muszę wymyślić jak go najprościej wyciągnąć z pliku z przechwyconymi danymi ;-) [później dodane, jak już napisałem program do wyciągania tych danych ;-)] niestety dziwne te PNGi) chociaż w dziwnym "formacie" bo próba jego wyświetlenia w IrfanView powoduje, że wyświetla się coś co tylko trochę przypomina mapę ;-)
Ale mamy dowód, że dane "lecą" w formacie "nie wektorowym".



Na obrazku wyżej widać "zrzut" z podglądu ruchu dla Google Maps 4.5 (widać w ciele requestu POST ciąg 4.5.1.65), a w ciele odpowiedzi ciąg PNG.

Po przyjrzeniu się jak to wygląda w Google Maps 4.5, zaktualizowałem Google Maps do wersji 5.0 i przystąpiłem do ponownego podsłuchiwania ;-)

Ruch wygląda podobnie, chociaż na początku jest nadzieja ;-) Google Maps przysyła najpierw coś co nie wygląda na PNG, trudno jednak powiedzieć co to jest :-)
Ale po tym zaczynają przylatywać dane w PNG:



Jak widać tutaj w ciele dla POST leci już "5.0.0.14" jako wersja Google Maps. Ale w danych też są PNGi.
Z tym, że pierwsza odpowiedź zawiera coś jeszcze (i jest duża, ma w akurat oglądanym przeze mnie teraz przypadku 44kb, w innym tylko 967 bajtów). Możliwe, że jest to "zapis" wektorowy, który jednak jest chyba ignorowany przez Google Maps na Androidzie 1.6 i dalej "lecą" już PNGi.

Co ciekawe, te requesty, które kończą się PNG są podobne, możliwe więc, że to działa tak, że Google Maps prosi po prostu o coś innego najpierw. Tego nie wiem.

Jednak wszystko wskazuje na to, że tak jak myślałem w przypadku Androida 1.6 Google Maps w wersji 5.0 nie używają map wektorowych, a nadal map w postaci obrazków.

Niestety nie mam obrazu emulatora z Androidem 2+ i z Google Maps :-) więc nie jestem w stanie sprawdzić jak to wygląda w przypadku 2+, ale wydaje mi się, że tam rzeczywiście są dane w postaci wektorowej.

A w trakcie tych zabaw słuchałem Boney M ;-)




Podobne postybeta
Google Maps 5.0 dla Androida.... nie tak pięknie
Robimy widget do Windows 7 :-)
Google Maps API
Chromebook vs netbook z Windows 8 ;-) - pierwsze wrażenia
Podsłuchiwanie Chrome ;-)