Como faço para atualizar apenas o miolo do site e não toda a página?

Bom, to utilizando o Mashups4jsf para utilizar o Google Maps.

Eu tenho um botão de gerar rota.
Utilizando o <p:commandButton>, ele chega a atualizar o mapa, só que o mapa some. Se eu mudo para <h:commandButton>, ele atualiza toda a página e traça a rota direitinho.

Tem como atualizar só a div onde ta o mapa?

<h:>

<h:commandButton  value="Rota" action="#{clienteMNG.rota}"/>
 <m:map id="map" width="600" height="480px" zoom="15" address="Pelotas">
                        <m:direction attachNodeId="steps" fromAddress="Pelotas" toAddress="#{clienteMNG.cidade}"/>
                        <m:marker/>
 </m:map>              
                    <div id="steps" style="width:600px;height:400px"></div>

<p:>

<p:commandButton  value="Rota" update="map" actionListener="#{clienteMNG.rota}"/>
<m:map id="map" width="600" height="480px" zoom="15" address="Pelotas">
                        <m:direction attachNodeId="steps" fromAddress="Pelotas" toAddress="#{clienteMNG.cidade}"/>
                        <m:marker/>
 </m:map>              
                    <div id="steps" style="width:600px;height:400px"></div>

Esse, quando clico no botão, o mapa some.

Alguém sabe me dizer porque?

nao entendi mt bem… mais se vc deseja atualizar somente um div da sua página, vc pode utilizar ajax

é que com o código do p command button, o mapa do google desaparece quando clico no botão!
com o h command button, ele atualiza toda a página e faz a rota direitinho!

como faço pra atualizar utilizando o ajax?

exemplo prático:

Aqui mostra como utilizar ajax: JSF Exemplos Simples com Ajax.