Я использую 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 в качестве альтернативы, если я не могу заставить это работать.