Почему я не могу установить уровень масштабирования на Картах Google с помощью этого кода? - PullRequest
0 голосов
/ 08 мая 2019

У меня есть довольно шаблонный код Google Maps здесь, и когда страница загружается, он показывает карты и маркеры, но уровень масштабирования не равен 14. На самом деле, я могу установить масштаб в моем скрипте на любое значение, и он не 'не имеет значения.Независимо от того, что на карте остается тот же масштаб по умолчанию.

function initMap() {
  var bangalore = { lat: 25.94255500, lng: -81.72122700 };
  var map = new google.maps.Map(document.getElementById('map'), {
    zoom: 14,
    center: bangalore
  });

  var locations = [
    @foreach ($results as $result)
    ['{!! $result->CleanStreet !!}', {!! $result->GoogleLat !!}, {!! $result->GoogleLong !!} ],
    @endforeach
  ];

  var infowindow = new google.maps.InfoWindow();

  var marker, i;
  var bounds = new google.maps.LatLngBounds();
  for (i = 0; i < locations.length; i++) {
    marker = new google.maps.Marker({
      position: new google.maps.LatLng(locations[i][1], locations[i][2]),
      map: map
    });
    bounds.extend(marker.getPosition());

    google.maps.event.addListener(marker, 'click', (function(marker, i) {
      return function() {
        infowindow.setContent(locations[i][0]);
        infowindow.open(map, marker);
      }
    })(marker, i));
  }
  map.fitBounds(bounds);
}

1 Ответ

1 голос
/ 09 мая 2019

Вы звоните map.fitBounds(bound), который масштабирует карту, чтобы соответствовать включенным маркерам, и не будет изменен при изменении начального значения масштабирования для карты (фактически, вы можете удалить значения центра / масштабирования с карты конструктор, и пока у вас есть несколько маркеров, он будет инициализирован для отображения этих маркеров).

Либо удалите этот вызов и установите начальный центр и увеличьте конструктор map, либо подождите, пока событие zoom_changed не сработает после вызова map.fitBounds(bounds);, и установите его затем.

связанный с этим вопрос: Google maps fitBounds zoom не меняется

...