dall' esempio che ti ho postato per copia incolla, se elimini la proprietà height dal div #mappa e la proprietà position da #footer dovresti risolvere.
Se vuoi "appendere" un footer alla fine della pagina, bottom:0px non è il sistema più giusto secondo me, gli elementi si posizionano da soli a fine pagina basta posizionarli alla fine del codice e non andare a impostare proprietà di tipo margin, non c'è bisogno di specificare la proprietà bottom.
Tra l' altro non so quanto sia utile utilizzare la percentuale per indicare l' altezza di un div, in genere utilizzo sempre i px, poi non so se utilizzi questo approccio per qualche motivo in particolare.
Facci sapere se così va .