Ho riscontrato un problema con l'incorporamento di una mappa di Google tramite l'API v3 in una casella modale.Le caselle grigie compaiono in alcune parti della Google Map incorporata nella casella modale
Le caselle grigie vengono visualizzate nell'area della mappa quando viene visualizzata la modale. Il ridimensionamento della finestra del browser, la visualizzazione di Web Inspector e così via rendono visibili tutte le tessere della mappa, ovvero "forzano il rendering" della mappa.
L'elemento padre dell'elemento mappa (section#map-modal
, vedere il codice di seguito) ha display: none
impostato nel proprio CSS al caricamento della pagina. Il codice modale JS imposta automaticamente display: block
quando si fa clic sul pulsante mostra. Se rimuovo temporaneamente display: none
dall'elemento modale, la mappa viene visualizzata correttamente all'aggiornamento della pagina. La mappa di Google non piace avere un elemento genitore nascosto?
Sto utilizzando il plug-in mod di jQuery Bootstrap di Twitter e sto controllando la modal stessa con i CSS. È posizionato fisso, ha una larghezza di pixel, ecc. Niente di insolito.
ho ovviamente Googled intorno per soluzioni, e molti punti per il metodo API di Google di innescare l'evento resize
:
google.maps.event.trigger(map, 'resize');
ho davvero fatto così, ma senza alcun risultato.
codice rilevante: https://gist.github.com/1591488
Come si può vedere, I'me innescare gli eventi alla linea 39.
(premere il tasto mappaZoom sul fondo della barra laterale).
Files:
fagerhult.js
fagerhult.map.js
bootstrap-modal.js
master.css
sarei profondamente apprezzare qualsiasi aiuto o altro paio di occhi in questo, come io sono presto impazzire per questo.
Altri articoli StackOverflow sull'argomento ho provato: - http://stackoverflow.com/questions/3838580/google-map-comes-partially-grey-area-comes-instead-of- images-from-google-server - http://stackoverflow.com/questions/1746608/google-maps-not-rendering-completely-on-page - http://stackoverflow.com/questions/2836095/google- maps-within-a-dynamic-loaded-jquery-accordion - http://stackoverflow.com/questions/8019222/google-map-inside-side-panel-grey-squares API di Google Maps v3: http: //code.google.com/apis/maps/documentation/javascript/reference.html#Map –
Prova questo fuori se stai affrontando lo stesso problema: http://stackoverflow.com/a/28307131/3647974 –