Pronto!

Para começar a desenvolver, acesse nossa documentação do desenvolvedor.

Ativar a Google Maps JavaScript API

Para começar, orientaremos você pelo Console do Desenvolvedor do Google para realizar algumas atividades:

  1. Criar ou selecionar um projeto
  2. Ativar a Google Maps JavaScript API e serviços relacionados
  3. Criar chaves apropriadas
Continuar

Serviços de imagens com zoom máximo

  1. Imagens com zoom máximo
  2. Solicitações de MaxZoom
  3. Respostas de MaxZoom

Visão geral

A Google Maps API fornece blocos de mapa em diversos níveis de zoom para imagens do tipo mapa. A maioria das imagens de roteiros, por exemplo, está disponível nos níveis de zoom de 0 a 18. As imagens de satélite são mais variáveis, pois não são geradas, mas fotografadas diretamente.

Como as imagens de satélite nem sempre estão disponíveis em altos níveis de zoom em localizações remotas, como áreas pouco povoadas ou áreas abertas do oceano, pode ser necessário saber antecipadamente o nível de zoom mais alto da imagem em uma determinada localização. O objeto MaxZoomService oferece uma interface simples para descobrir o nível máximo de zoom em uma determinada localização onde o Google Maps dispõe de imagens de satélite.

Solicitações de MaxZoom

O acesso ao serviço MaxZoomService é assíncrono, pois a Google Maps API precisa chamar um servidor externo. Por isso, passe um método de retorno de chamada a ser executado na conclusão da solicitação. Esse método de retorno de chamada processa o resultado.

Para iniciar uma solicitação MaxZoomService, basta chamar getMaxZoomAtLatLng() passando a LatLng da localização e uma função de retorno de chamada para execução na conclusão da solicitação.

Respostas de MaxZoom

Quando getMaxZoomAtLatLng() executa a função de retorno de chamada, ela retorna dois parâmetros.

  • status contém o MaxZoomStatus da solicitação.
  • zoom contém o nível de zoom. Se o serviço falhar por algum motivo, o valor não estará presente.

O código de status pode retornar um dos seguintes valores:

  • OK indica que o serviço encontrou o nível máximo de zoom para a imagem de satélite.
  • ERROR indica que a solicitação de MaxZoom não foi processada.

O exemplo abaixo mostra um mapa metropolitano de Tóquio. Clique em qualquer lugar do mapa para indicar o nível de zoom máximo dessa localização. (Os níveis de zoom em volta de Tóquio geralmente variam entre 18 e 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);
  });
}

Ver o exemplo (maxzoom-simple.html).

Enviar comentários sobre…

Google Maps JavaScript API
Google Maps JavaScript API
Precisa de ajuda? Acesse nossa página de suporte.