Вот общее решение, я думаю, вы можете добиться большего, если найдете способ вызвать событие на inputHidden без использования кнопки
b.t.w: jQuery поставляется с простыми лицами, поэтому вы можете использовать его без каких-либо дополнительных включений
вместо
<h:inputHidden id="address" value="#{mappingSessionBean.mapAddress}" />
место
<f:ajax listener="#{mappingSessionBean.myajax}" execute="address">
<h:inputHidden id="address" value="#{mappingSessionBean.mapAddress}" />
<h:commandButton id="addressBtn" style="display:none"/>
</f:ajax>
(вы можете заменить execute = "address" на execute = "@ form")
и в коде js заменить
document.getElementById('address').value = results[0].formatted_address;
с
jQuery("#address").val(results[0].formatted_address);
jQuery("#addressBtn").click(); // this will trigger the ajax listener
и, наконец, в ваш bean-компонент добавьте реализацию самого слушателя ajax
public void myajax(AjaxBehaviorEvent event) {
System.out.println(getMapAddress());
}