Wie macht es Google Maps?
LeKuchen
- programmiertechnik
1 Tim Tepaße
0 LeKuchen
Hallo zusammen,
habe mich gefragt, welche Technik (grob) hinter Google Maps steckt. Schon klar, AJAX. Habe natürlich auch schon entsprechend recherchiert, aber einige Sachen sind mir unklar geblieben. So stelle ich mir das vor:
-Clientseitig ist ein Javascript vorhanden, welches über XMLHTTP Request Grafiken (und Umgebungsgrafiken) (?) zu einer bestimmten Koordinate und mit best. Zoomfaktor anfordert.
-Serverseitig werden aus XML-Daten per XSLT/SVG oder VML oder so die Grafiken generiert und an den Client gesendet - Datenaustausch funktioniert asynchron.
-Die Navigation (Zoom, Focusbewegung etc) in der Karte passiert clientseitig mit Hilfe des Javascripts.
Stelle ich mir das so richtig vor? Habt ihr andere Informationen/Details? Die Karten, die auf dem Client angezeigt werden, sind also im Bitmap-Format, da ja z.B. kein SVG-Viewer benötigt wird?
Gruß
LeKuchen
Hallo,
habe mich gefragt, welche Technik (grob) hinter Google Maps steckt. Schon klar, AJAX. So stelle ich mir das vor:
Im wesentlichen hast Du Recht. Als Google Maps noch neu war, hat ein Blogger ein längeres Posting namens Mapping Google geschrieben, in dem er die Technik genau auseinander genommen hat. Leider scheint sein Blog – pikanterweise beim Google-Service Blogger.com gehostet – nicht mehr existent zu sein, auch in der Wayback Machine bzw. in anderen Caches findet man es nicht. Allerdings findet man hier und dort noch Diskussionen in anderen Blogs dazu, wie z.B. hier.
-Clientseitig ist ein Javascript vorhanden, welches über XMLHTTP Request Grafiken (und Umgebungsgrafiken) (?) zu einer bestimmten Koordinate und mit best. Zoomfaktor anfordert.
Damals war es ein verborgener iFrame, über den das Nachladen geschah. Aber ich denke, Google ist da nicht so, wenn sie schon in ihrer Google Maps API ein cross-browser-gleiches GxmlHttp-Objekt anbieten.
-Serverseitig werden aus XML-Daten per XSLT/SVG oder VML oder so die Grafiken generiert und an den Client gesendet - Datenaustausch funktioniert asynchron.
Ich würde mich eher ausdrücken, dass der Client diese Daten holt, aber ja.
Stelle ich mir das so richtig vor? Habt ihr andere Informationen/Details? Die Karten, die auf dem Client angezeigt werden, sind also im Bitmap-Format, da ja z.B. kein SVG-Viewer benötigt wird?
Wenn sie nicht vollkommen bescheuert sind, packen sie die Karten in PNG und die Satellitenbilder in JPEG. Overlays sind transparente GIFs bzw. PNG, wenn ich mich recht erinnere. SVG wäre zwar nett und für die Karte praktisch, aber damals noch nicht wirklich praktikabel gewesen. Eventuell gibt es ein Umdenken, die Google Web Authoring Statistics nutzen SVG, auch wenn ich da eher glaube, dass das das Wirken einer Einzelperson war.
Tim
Hallo Tim,
Super, danke für diese Infos!
Im wesentlichen hast Du Recht. Als Google Maps noch neu war, hat ein Blogger ein längeres Posting namens Mapping Google geschrieben, in dem er die Technik genau auseinander genommen hat. Leider scheint sein Blog – pikanterweise beim Google-Service Blogger.com gehostet – nicht mehr existent zu sein,
Sehr schade, aber die Diskussion gibt schon etwas an Infos her....
Damals war es ein verborgener iFrame, über den das Nachladen geschah. Aber ich denke, Google ist da nicht so, wenn sie schon in ihrer Google Maps API ein cross-browser-gleiches GxmlHttp-Objekt anbieten.
Jep, das Objekt war mir eben auch in der API-Doku aufgefallen...;o)
Ich würde mich eher ausdrücken, dass der Client diese Daten holt, aber ja.
Schon klar...
Wenn sie nicht vollkommen bescheuert sind, packen sie die Karten in PNG und die Satellitenbilder in JPEG.
In diesem Fall war Bitmapgrafik als Oberkategorie gemeint, im Gegensatz zu Rastergrafik. Nicht bmp-Dateien...;o)
Interessant wäre zu wissen, wo die XML-Daten in eine Grafik gewandelt werden: Serverseitig oder clientseitig?
Gruß
LeKuchen
Hallo,
Wenn sie nicht vollkommen bescheuert sind, packen sie die Karten in PNG und die Satellitenbilder in JPEG.
In diesem Fall war Bitmapgrafik als Oberkategorie gemeint,
Logisch. Sowohl PNG als auch JPEG sind schließlich Bitmap-Formate. Und...
im Gegensatz zu Rastergrafik. Nicht bmp-Dateien...;o)
Bitmap-Grafik == Rastergrafik. ;-)
Im Gegensatz zu Vektorgrafik, meintest du wahrscheinlich.
Interessant wäre zu wissen, wo die XML-Daten in eine Grafik gewandelt werden: Serverseitig oder clientseitig?
Ich weiß es nicht sicher, aber da es in Javascript nur sehr schlecht und mit großen Verenkungen möglich ist, Grafiken zu generieren, tippe ich auf eine serverseitige Umsetzung.
So long,
Martin