2013-06-23 11 views
41

Używam tego fragmentu kodu w szablonie Bootstrap. Występują problemy podczas ładowania obrazów w panelu zawartości Bootstrap.Jak ręcznie ponownie załadować Mapę Google za pomocą JavaScriptu

Jest to kod JavaScript, który używam do zainicjowania Mapa:

var latlng = new google.maps.LatLng(50, 50); 

var myOptions = { 
    zoom: _zoom, 
    center: latlng, 
    mapTypeId: google.maps.MapTypeId.ROADMAP, 
    mapTypeControlOptions: { 
     style: google.maps.MapTypeControlStyle.DROPDOWN_MENU 
    } 
}; 

var map = new google.maps.Map(document.getElementById('map_canvas'), myOptions); 

var marker = new google.maps.Marker({ 
    position: latlng, 
    map: map, 
    title: 'Google Office!' 
}); 

nie znalazłem żadnej metody (y) w Internecie, aby ręcznie przeładować instancji Google Map.

Czy to możliwe i jak? Dzięki!

+0

Pomoc ... Ktoś? –

Odpowiedz

115

Tak, można „odświeżyć” Map Google tak:

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

Zasadniczo wysyła sygnał do mapy, aby ją przerysować.

Nadzieję, że pomaga!

+2

Czy to działa, gdy korzystasz z elementów iframe z Google? Gdzie powinienem umieścić ten kod? – MrDirby

+0

Argh! Albo tak pomyślałem ... to znaczy, są pewne zastrzeżenia. Wygląda na to, że nie działa w ogóle w Chrome, ale działa w Firefoksie, co jest ... dziwne. Również wyzwalanie 'resize' zmieni położenie div dość dobrze, ale w moim przypadku wciąż jest kilka piksli, dopóki nie zostanie ręcznie zmieniona. –

Powiązane problemy