À l'aide de setZoom() après l'utilisation de fitBounds() avec Google Maps API V3

Je suis en utilisant fitBounds() pour définir le niveau de zoom sur ma carte aussi inclure tous les marqueurs qui est actuellement affichée. Cependant, lorsque je n'ai qu'un marqueur visible, le niveau de zoom est à 100% (... le niveau de zoom de 20 je crois...). Cependant, je ne veux pas qu'il soit loin de zoom de sorte que l'utilisateur peut ajuster la position du marqueur, sans avoir à effectuer un zoom arrière.

J'ai le code suivant:

var marker = this.map.createMarker(view.latlng, this.markerNumber);
this.map.bounds.extend(view.latlng);
this.map.map.setCenter(this.map.bounds.getCenter());
this.map.map.fitBounds(this.map.bounds);
if (this.markerNumber === 1) {
  this.map.map.setZoom(16);
}
this.markerNumber++;

où cela.carte.limites précédemment définies comme suit:

this.map.bounds = new google.maps.LatLngBounds();

Cependant, le problème que j'ai est que la ligne this.map.map.setZoom(16); ne fonctionne pas si j'utilise this.map.map.fitBounds(this.map.bounds);, cependant, je sais que la ligne de code est correct, parce que quand je commenter la fitBound() en ligne, le setZoom() comme par magie commence à fonctionner.

Des idées comment je résoudre ce problème? Je suis en train de réfléchir à mettre un par maxzoom niveau comme une alternative si je ne peux pas obtenir ce travail.

  • L' .carte.la carte est en effet là ou est-ce une erreur?Si possible, télécharger une page de test et de fournir un linkso on peut voir le problème avec plus de facilité.
  • Je vais avoir le même problème. Aimerait savoir un correctif.
  • .carte.la carte était là sur le but. Le premier fait référence à ma carte objet et le second à la google map de l'objet. Depuis, j'ai nettoyé ce problème de mon code.
  • voir stackoverflow.com/questions/2437683/...