gpt4 book ai didi

java - 可移动标记位置 - 刷新标记位置 (GMaps4JSF 1.1.3-u3)

转载 作者:行者123 更新时间:2023-12-01 16:02:20 24 4
gpt4 key购买 nike

我在 JavaEE 6 应用程序中使用 GMaps4JSF 1.1.3-u3,并在 Glassfish v3 应用服务器上使用 JSF 2.0、Facelets、Mojarra 2.0.2 和 Primefaces 2.1。在 xhtml 页面上我想显示一些标记和可移动标记(当前选定的“站”)。它的经度和纬度位置在 valueChangeListener 的帮助下存储在一些变量中。当我使用confirmButton时,位置将保存到站点对象中。然后重新加载所有站点并更新表格。当我选择车站时,它的新位置会显示在 map 上 - 一切正常。如果我移动标记并按cancelButton,然后在表中选择相同的电台,则显示此移动的位置,尽管cancelOperation恢复旧位置(电台经度和站纬度变量)。这是必要的,因为 valueChangeListener 在 cancel 函数之前被调用。我已经尝试了很多方法,但无法执行取消操作,因此在重新选择相关电台后,会显示旧的标记位置。仅当我在 ajax cancelButton 上使用 oncomplete="window.location.reload()" 时,它才有效!但这会导致丑陋的页面更新(首先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>

最佳答案

也许您可以使用 PrimeFaces 的可拖动标记;

http://www.primefaces.org/showcase/ui/gmapDraggableMarkers.jsf

关于java - 可移动标记位置 - 刷新标记位置 (GMaps4JSF 1.1.3-u3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3512084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com