Próbuję wyświetlić mapę google w modalizatorze bootstrap na Twitterze. Gdy użytkownik kliknie najpierw na przycisk Show map
, będzie mógł zobaczyć mapę z powodzeniem, ponieważ generuję funkcję mapy onclick()
, ale kiedy zamknie modal i ponownie go otworzy, mapa nie będzie wyświetlać się poprawnie, a 90% części mapy stanie się szara jak poGoogle modalny problem z mapą
i nawet próbować tego obejścia, które usuwają że cały div, w których mapa jest związać i zregenerować go jednak, że sztuczka doesnot pracy zbyt łaskawie dać mi znać jak mogę rozwiązać mój problem.
Poniżej moja funkcja js który Wołam onclick wydarzenie Pokaż mapę
function mapp()
{
//google.maps.event.trigger(map, "resize");
//$("#map_google_canvas").empty();
$("#map_google_canvas").remove();
$("#crmap").append("<div id='map_google_canvas'></div>")
var myOptions = {
center: new google.maps.LatLng(54, -2),
zoom: 6,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_google_canvas"), myOptions);
var addressArray = new Array("London, United Kingdom", "London Road, Brentwood, United Kingdom", "Brentwood, United Kingdom");
var geocoder = new google.maps.Geocoder();
var markerBounds = new google.maps.LatLngBounds();
for (var i = 0; i < addressArray.length; i++) {
geocoder.geocode({
'address': addressArray[i]
}, function (results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location
});
markerBounds.extend(results[0].geometry.location);
map.fitBounds(markerBounds);
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
}
życzliwej pomocy,
Dzięki
Jest to całkowicie normalne i oczekiwane zachowanie, niestety, nie mogę się z tym pogodzić. Mają wiele stron, w których mapy google "psują się" w połączeniu z wyświetlaniem ich w ukrytych-> pokazanych-> ukrytych elementach. Co więcej, mapy google nie psują się za każdym razem, najprawdopodobniej tak się stanie. Jedynym rozwiązaniem jest zregenerowanie mapy tuż przed ustawieniem kontenera jako widocznego/widocznego, tutaj - modem ładowania początkowego. Oczywiście wystarczy uruchomić pętlę 'addressArray' tylko raz i zapisać wynik geocoder w tabeli odnośników. – davidkonrad
Problem został rozwiązany z następującego pytania: http: //stackoverflow.com/questions/8812268/grey-boxes-appear-in-parts-of-embedded-google-map-in-modal-box? Rq = 1 –
Cool ! Nie znałem wyzwalacza zmiany rozmiaru. To może wiele pomóc w przyszłości! Zatwierdził Twoje pytanie i odpowiedź, którą znalazłeś. Dziękuję Ci! – davidkonrad