"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como evitar que os blocos do Google Map desapareçam após redimensionar o contêiner?

Como evitar que os blocos do Google Map desapareçam após redimensionar o contêiner?

Publicado em 2024-11-10
Navegar:793

How to Prevent Google Map Tiles from Disappearing After Resizing the Container?

Redimensionando um mapa do Google com JavaScript

Você encontrou um problema em que os blocos do Google desaparecem após redimensionar uma div "mapwrap" contendo um Google mapa. Este artigo tem como objetivo fornecer uma solução para esse problema, discutindo a função apropriada para acionar um ajuste de mapa do Google.

Por que os blocos desaparecem?

Quando você redimensiona o " mapwrap" div, o mapa do Google não se ajusta automaticamente ao novo tamanho. Isso resulta em uma incompatibilidade entre as dimensões do mapa e a área de exibição, fazendo com que os blocos desapareçam.

Solução

Para corrigir isso, você precisa acionar explicitamente o evento de redimensionamento no objeto do mapa do Google. Isso instrui o mapa a recalcular seu layout e ajustar-se às novas dimensões da div "mapwrap".

Para o Google Maps v3, use esta função:

google.maps.event.trigger(map, "resize");

Demonstração

Para esclarecer isso conceito, aqui está uma demonstração usando jQuery:

$(function() {
  var mapOptions = {
    zoom: 8,
    center: new google.maps.LatLng(-34.397, 150.644)
  };
  var map = new google.maps.Map($("#map-canvas")[0], mapOptions);

  // Listen for the window resize event and trigger Google Maps to resize
  $(window).resize(function() {
    google.maps.event.trigger(map, "resize");
  });
});

Este exemplo garante que sempre que a janela for redimensionada, o mapa do Google dentro da div "map-canvas" se ajustará automaticamente ao novo tamanho, evitando que os blocos desapareçam.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3