Подтвердить что ты не робот

API Google Maps Javascript не загружает ближайший уровень масштабирования?

Сегодня я заметил, что самый близкий доступный уровень масштабирования спутниковых изображений был удален в определенной области (это может затронуть другие области, но я просто сосредоточен на одной области, которая определенно затронута). Два дня назад был доступен уровень 20, теперь только уровень 19.

MaxZoomService все еще говорит, что ближайший доступный масштаб в этом месте равен 20. Но когда карта находится на уровне 19, нажатие кнопки + zoom не увеличивает масштаб до уровня 20.

Есть ли причина, по которой я не могу увеличить до уровня 20, когда он говорит, что он доступен?

Некоторые теоретические объяснения (все неподтвержденные) включают:

  • Уровень масштабирования 20 был недавно удален, но MaxZoomService не обновлен и показывает старое значение
  • Уровень 20 временно сломан в этом месте и скоро будет восстановлен (например, возможно, они перерабатывают изображения для этого уровня?)

(Я не думаю, что есть путаница с доступной глубиной для сверху вниз против Oblique, потому что оба зафиксированы до уровня 19).

Обновление:

  • Плитки на уровне 20, которые ранее были загружены, по-прежнему существуют на старых URL-адресах, они просто не загружены в Javascript API Map. Возможно, это придает вес объяснению, что это всего лишь временная проблема с сервисом, в котором перечислены доступные уровни изображений?
  • Кажется, проблема глобальная, а не изолированная географическая область.
  • Переход на более раннюю версию API-интерфейсов Google Maps (например, добавление? v = 3.29), как представляется, не устраняет проблему.

См. живой пример: https://jsfiddle.net/3qojzt76/

<!DOCTYPE html>
<html>
  <head>
    <title>Simple Map</title>
    <meta name="viewport" content="initial-scale=1.0">
    <meta charset="utf-8">
    <style>
      /* Always set the map height explicitly to define the size of the div
       * element that contains the map. */
      #map {
        height: 100%;
      }
      /* Optional: Makes the sample page fill the window. */
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
    </style>
  </head>
  <body>
    <div id="map"></div>
    <script>
      var map;
      
      var latlng = {lat: 37.8768101, lng: -122.2813413}
      
      function initMap() {
        map = new google.maps.Map(document.getElementById('map'), {
          mapTypeId: google.maps.MapTypeId.SATELLITE,
          tilt: 0,
          center: latlng,
          zoom: 19
        });
        
        var mapZoomService = new google.maps.MaxZoomService()
        
        mapZoomService.getMaxZoomAtLatLng(latlng, function(MaxZoomResult){
            
            if(google.maps.MaxZoomStatus.OK){
                alert('map.getZoom(): '+map.getZoom()+', MaxZoomResult.zoom: ' + MaxZoomResult.zoom)
            }else{
                alert('Error: in google.maps.MaxZoomService().getMaxZoomAtLatLng()')
            }
        })
        
      }
    </script>
    <script src="https://maps.googleapis.com/maps/api/js?key=&callback=initMap"
    async defer></script>
  </body>
</html>
4b9b3361

Ответ 2

Да, правда, это была ошибка раньше, теперь она работает нормально. Некоторые изменения были внесены Google. на тот момент, когда он нарушен, тот же вопрос, с которым я столкнулся, теперь разрешен. еще одна вещь, которую я заметил, когда я установил свойство карты

 map = new google.maps.Map(document.getElementById('map'), {
      mapTypeId: google.maps.MapTypeId.SATELLITE,
      tilt: 0,
      center: latlng,
      zoom: 20 // look I set it 20
    });

он все еще не достигает максимальной глубины. https://jsfiddle.net/Negirox/3qojzt76/8/ см. выше JSfiddle, заданный @python1981

Но когда я установил его 21, то он достигнет максимальной глубины уровня, но MaxZoomResult.zoom все еще показывает 20.

   map = new google.maps.Map(document.getElementById('map'), {
      mapTypeId: google.maps.MapTypeId.SATELLITE,
      tilt: 0,
      center: latlng,
      zoom: 21 // look I set it 21
    });

Исправьте меня, если я ошибаюсь.