2015-12-31 4 views
-1

У меня есть карта Google, и я сделал полноэкранную кнопку переключения с помощью API v3.Центр находится в самом верхнем левом углу

Задача:setCenter() Центр находится в верхнем левом углу карты. Все остальное работает, и если я меняю координаты на что-то другое, это фактически изменяет центральную точку, но по какой-то причине устанавливает ее в левый верхний угол. display:none; используется сначала, но я вызываю изменение размера, если кнопка нажата.

Что может быть неправильным?

//JS 
if(document.getElementById('toggle-map')) { 

    google.maps.event.addDomListener(document.getElementById('toggle-map'), 'click', function() { 

     jQuery('.spinner').fadeIn(); 

     jQuery('#map-wrapper').toggleClass('fullscreen'); 
     jQuery('body').toggleClass('locked'); 
     jQuery('.main-wrapper').toggleClass('locked'); 

     map.setZoom(5); 
     map.setCenter(new google.maps.LatLng(50, 50)); 

     google.maps.event.addListenerOnce(map, 'idle', function() { 

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

      jQuery('.spinner').fadeOut(800); 
     }); 
    }); 
} 

//CSS 
.fullscreen { 
    display: block !important; 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100vh; 
    z-index: 10; 
} 
.locked { 
    position: fixed; 
    height: 100%; 
    overflow: hidden; 
    width: 100%; 
    z-index: 9999; 
    top: 0; 
} 
+0

Возможный дубликат [Центры Google Map в левом верхнем углу] (http://stackoverflow.com/questions/14044758/google-map-centers-at-top-left-corner) – geocodezip

+0

Возможный дубликат [Google map in top corner left] (http://stackoverflow.com/questions/30298177/google-map-in-top-corner-left) – geocodezip

+0

@geocodezip Я уже нашел их перед тем, как спросить и попробовал все ответы, но это не помогло мне проблема. Но мне удалось решить эту проблему самостоятельно после тестирования и устранения большинства моих строк. – Solo

ответ

1

Fix: добавить setCenter()ПОСЛЕ'resize' события.

Смежные вопросы