Я использую fitBounds (), чтобы установить уровень масштабирования на моей карте, также включаю все маркеры, отображаемые в данный момент. Однако, когда у меня виден только один маркер, уровень масштабирования составляет 100% (... какой уровень масштабирования 20, я думаю ...). Однако я не хочу, чтобы он был настолько увеличен, поэтому пользователь может отрегулировать положение маркера, не уменьшая масштаб.
У меня есть следующий код:
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++;
где this.map.bounds ранее был определен как:
this.map.bounds = new google.maps.LatLngBounds();
Однако проблема, с которой я столкнулся, заключается в том, что строка this.map.map.setZoom (16) ;
не работает, если я использую this.map.map.fitBounds (this.map.bounds);
, однако я знаю, что эта строка кода верна, потому что когда я закомментировал fitBound (), функция setZoom () волшебным образом начинает работать.
Есть идеи, как решить эту проблему? Я подумываю установить уровень maxZoom в качестве альтернативы, если я не могу заставить это работать.