Stehe hier vor einem Problem, das mich schon seit Jahren nervt, aber irgendwie komme ich da nicht dran vorbei. Mein Problem ist, dass Google erst mal die Karte von DE anzeigt, Center-Position ist aber richtig, Zoom ist nur viel zu klein. Und dann, wenige Sekunden später geht er auf den entsprechenden Zoom-Level. Schaut halt doof aus, wenn da erst eine Karte ist, dann verschwindet und dann eine andere kommt zumal die ersten Karten ja auch geladen werden müssen.
Hat einer eine Idee?
Ich weiß nur, dass es damit zusammenhängt:
var myOptions = {
zoom: 2,
center: center,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
// Map starten
map = new google.maps.Map(document.getElementById('mapdiv'), myOptions);
if(jsonResponse)
{
map.fitBounds(centerBounds);
}
Also am Anfang der normale Aufruf, dann das "fitBounds", denn genau hier wird der Zoom an den Viewport angepasst.
Und genau da drehe ich mich im Kreis....
new google.maps.Map muss zuerst ausgeführt werden, da sonst "map" nicht da ist. Es startet also mit den Defaultwerten. Erst dann kommt das map.fitBounds und genau hier ist der Sprung in der Darstellung.
Ach ja, das ist erst seit Api 3 so. Mit Api 2 konnte man initialisieren, fitBounds und dann starten. Initialisieren und Starten ist bei der v3 nun aber kombiniert.