可動マーカーの位置をリフレッシュマーカー位置GMaps4JSF1.1.3-u3)
-
29-09-2019 - |
質問
を使用していGMaps4JSF1.1.3-u3にJavaEE6用情2.0,Facelets,Mojarra2.0.2とPrimefaces2.1にGlassfish v3を入力します。にxhtmlページにしていきたいも マーカーおよび可動式マーカー(現在の選択"駅").その経度緯度に位置を格納しの一部変数は、 valueChangeListener.を利用した場合 confirmButton の位置は保存され駅よりオブジェクトです。すべての駅でリロードを更新しました。時を選択し、駅の新しい位置が地図上に表示すものです。ま移のマーカーを押し、 cancelButton およびその後の選択と同じ駅にテーブルの位置に移動表示が cancelOperation 回復旧位置stationLongitudeとstationLatitude変数).私が必要なのでvalueChangeListenerが呼び出される前に呼び出されるキャンセルができます。しかし多くのがんでのキャンセルとreselectingに関駅のマーカーの位置が表示されます。しているときだけ使ってい oncomplete="ウインドウです。立地です。reload()" のajax cancelButton!これが醜のページを更新(第ajax更新し全体でページをリローデッド).くなった場合には、GoogleMaps,GMaps4JSFはFacelets問題は、地下鉄からも近くて便利。ん、ありがとうございまでの回避策ろう。ものなのでリフレッシュのマーカー位置のマーカーは、内蔵するのでしょうか。私は最寄りのヒント!感謝。
のXHTMLのスニペット:
<h:form prependId="false" id="xTableForm">
<div class="xSection" >
<p:dataTable id="xTable" var="station" value="#{XBean.stations}"
selection="#{XBean.selectedStation}" selectionMode="single"
update="xTableForm pMessages">
...
</p:dataTable>
</div>
<h:panelGrid id="mapPanelGrid">
<m:map width="929px" height="500px"
longitude="#{XBean.stationLongitude}" latitude="#{XBean.stationLatitude}"
renderOnWindowLoad="false">
<ui:repeat ... >
... other markers
</ui:repeat>
<m:marker id="stationMarker" longitude="#{XBean.stationLongitude}"
latitude="#{XBean.stationLatitude}" jsVariable="sMarker" draggable="true"
submitOnValueChange="false" valueChangeListener="#{XBean.valueChangeListener}" >
<m:icon imageURL="http://www.google.com/mapfiles/marker_blackS.png"/>
</m:marker>
<m:mapControl name="GLargeMapControl" position="G_ANCHOR_BOTTOM_RIGHT"/>
<m:mapControl name="GMapTypeControl"/>
</m:map>
</h:panelGrid>
<div id="xMenu">
...
<p:commandLink id="confirmButton" value="confirm"
actionListener="#{XBean.confirm}" update="XTableForm pMessages" />
<p:commandLink id="cancelButton" value="Cancel"
actionListener="#{XBean.cancelOperation}" update="XTableForm pMessages" />
</div>
</h:form>
解決
また、同じ問題です。私は固定では、次のコード:
private void rebuildRootView()
{
FacesContext context = FacesContext.getCurrentInstance();
Application application = context.getApplication();
ViewHandler viewHandler = application.getViewHandler();
UIViewRoot viewRoot = viewHandler.createView(context, context.getViewRoot().getViewId());
context.setViewRoot(viewRoot);
}
私はこのメソッドを呼び出しにcancelButtonスです。
他のヒント
も利用できるPrimeFacesのdraggableマーカー;
http://www.primefaces.org/showcase/ui/gmapDraggableMarkers.jsf
どのコード(#{XBean.cancelOperation}[1])?
でもお送りくださいサンプルと戦争の問題なのでし[2]となります。
[1]システムになってくるでしょ設定のデフォルトのマーカー位置にリセットします。
[2] http://groups.google.com/group/gmaps4jsf-dev