Je dessine une série de marqueurs sur une carte (en utilisant la version 3 de l'API des cartes).
Dans la v2, j'avais le code suivant :
bounds = new GLatLngBounds();
... loop thru and put markers on map ...
bounds.extend(point);
... end looping
map.setCenter(bounds.getCenter());
var level = map.getBoundsZoomLevel(bounds);
if ( level == 1 )
level = 5;
map.setZoom(level > 6 ? 6 : level);
Et ce travail a permis de s'assurer qu'il y avait toujours un niveau de détail approprié affiché sur la carte.
J'essaie de reproduire cette fonctionnalité dans la version 3, mais les fonctions setZoom et fitBounds ne semblent pas coopérer :
... loop thru and put markers on the map
var ll = new google.maps.LatLng(p.lat,p.lng);
bounds.extend(ll);
... end loop
var zoom = map.getZoom();
map.setZoom(zoom > 6 ? 6 : zoom);
map.fitBounds(bounds);
J'ai essayé différentes permutations (déplacer le fitBounds avant le setZoom, par exemple) mais rien de ce que je fais avec le setZoom ne semble affecter la carte. Est-ce que quelque chose m'échappe ? Existe-t-il un moyen de faire cela ?