難しい問題があります。フォームを送信し、送信されたばかりのフォームのデータで (ワンクリックで) マップを更新する必要があります。送信されたデータは最新ですが、マップのデータは最後の呼び出しからのものです。アイデアは、どういうわけか oncomplete の前に更新が呼び出されることです。
コードは次のとおりです。
<h:panelGroup layout="block" id="addressBlock" >
<h:panelGrid columns="2" columnClasses="geolabels, geoinputs" id="addressInputs">
Straße <h:inputText styleClass="sidebar-input" value="#{search.searchContainer.geoCodeSearch.adresse}" />
Plz <h:inputText styleClass="sidebar-input" value="#{search.searchContainer.geoCodeSearch.plz}" />
Ort <h:inputText styleClass="sidebar-input" value="#{search.searchContainer.geoCodeSearch.ort}" />
</h:panelGrid>
<p:commandLink styleClass="btn" value="#{messages['global.search']}" process="@this, addressInputs"
action="#{search.searchContainer.geoCodeSearch.geoCode()}" update="geoCodeResult, addressBlock"
oncomplete="updateMap('#{dataForMap}', true);" />
</h:panelGroup>