Все готово!

Прежде чем приступить к разработке, ознакомьтесь с документацией для разработчиков.

Активация Google Maps JavaScript API

Чтобы помочь вам освоиться, мы покажем, как выполнить некоторые необходимые действия в консоли разработчика Google:

  1. Создание или выбор проекта
  2. Активация Google Maps JavaScript API и связанных служб
  3. Создание соответствующих ключей

Служба Maximum Zoom Imagery

  1. Служба Maximum Zoom Imagery
  2. Запросы MaxZoom
  3. Ответы MaxZoom

Обзор

Google Maps API предоставляет листы карт с разным уровнем масштабирования изображений. Например, для большинства изображений дорожных карт доступны уровни масштабирования от 0 до 18. Разница в уровнях масштабирования снимков со спутников более значительна, потому что эти изображения не генерируются, а фотографируются непосредственно.

Поскольку снимки со спутников с высоким уровнем масштабирования не всегда доступны для удаленных точек (например, для малонаселенных местностей или открытого моря), желательно заранее знать максимальный доступный уровень масштабирования для определенного места. Объект MaxZoomService обеспечивает простой интерфейс для определения максимального уровня масштабирования в указанном месте, для которого в Google Maps есть спутниковые снимки.

Запросы MaxZoom

Доступ к объекту MaxZoomService осуществляется асинхронно, поскольку интерфейсу Google Maps API требуется отправить вызов на внешний сервер. Поэтому вам необходимо передать метод обратного вызова, который будет выполнен после завершения запроса. Этот метод обратного вызова должен обработать результаты.

Чтобы инициировать запрос к MaxZoomService, нужно просто вызвать метод getMaxZoomAtLatLng(), передать ему параметры LatLng для требуемого местоположения и функцию обратного вызова, которая должна быть выполнена после исполнения запроса.

Ответы MaxZoom

Когда метод getMaxZoomAtLatLng() выполняет функцию обратного вызова, он возвращает два параметра:

  • status – содержит значение MaxZoomStatus для запроса.
  • zoom – содержит значение уровня масштабирования. Если по какой-то причине запрос службы окажется неудачным, это значение будет отсутствовать.

Код status может возвращать одно из следующих значений:

  • OK – указывает, что служба нашла максимальный уровень масштабирования спутникового изображения.
  • ERROR – указывает, что запрос MaxZoom не удалось обработать.

В следующем примере показана карта метрополитена Токио. При нажатии любой точки карты показывается максимальный уровень масштабирования для этой точки. (Уровни масштабирования в районе Токио обычно составляют от 18 до 21.)

var map;
var maxZoomService;
var infoWindow;

function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    zoom: 11,
    center: {lat: 35.6894, lng: 139.692},
    mapTypeId: 'hybrid'
  });

  infoWindow = new google.maps.InfoWindow();

  maxZoomService = new google.maps.MaxZoomService();

  map.addListener('click', showMaxZoom);
}

function showMaxZoom(e) {
  maxZoomService.getMaxZoomAtLatLng(e.latLng, function(response) {
    if (response.status !== 'OK') {
      infoWindow.setContent('Error in MaxZoomService');
    } else {
      infoWindow.setContent(
          'The maximum zoom at this location is: ' + response.zoom);
    }
    infoWindow.setPosition(e.latLng);
    infoWindow.open(map);
  });
}
<div id="map"></div>
/* 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;
}
 <!-- Replace the value of the key parameter with your own API key. -->
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCkUOdZ5y7hMm0yrcCQoCvLwzdM6M8s5qk&callback=initMap">
</script>
var map;
var maxZoomService;
var infoWindow;

function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    zoom: 11,
    center: {lat: 35.6894, lng: 139.692},
    mapTypeId: 'hybrid'
  });

  infoWindow = new google.maps.InfoWindow();

  maxZoomService = new google.maps.MaxZoomService();

  map.addListener('click', showMaxZoom);
}

function showMaxZoom(e) {
  maxZoomService.getMaxZoomAtLatLng(e.latLng, function(response) {
    if (response.status !== 'OK') {
      infoWindow.setContent('Error in MaxZoomService');
    } else {
      infoWindow.setContent(
          'The maximum zoom at this location is: ' + response.zoom);
    }
    infoWindow.setPosition(e.latLng);
    infoWindow.open(map);
  });
}

Просмотр примера (maxzoom-simple.html).

Оставить отзыв о...

Текущей странице
Google Maps JavaScript API
Google Maps JavaScript API
Нужна помощь? Обратитесь в службу поддержки.