Сегодня я заметил, что самый близкий доступный уровень масштабирования спутниковых изображений был удален в определенной области (это может затронуть другие области, но я просто сосредоточен на одной области, которая определенно затронута). Два дня назад был доступен уровень 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>