【问题标题】:PrimeFaces Gmap updatingPrimeFaces Gmap 更新
【发布时间】:2012-03-13 10:28:41
【问题描述】:
我需要使用 primafaces gmap。我还需要在地图上添加标记。但是我只需要在地图上添加一个标记。因此,如果需要更改所选标记,我必须更新地图。
我找不到正确更新地图的方法。我试过这个:
RequestContext.getCurrentInstance().addPartialUpdateTarget("form:MapId");
当我尝试这个时,地图没有出现在页面上。
我作为解决方案尝试的另一件事是重定向到页面。它确实有效,但验证一直是个问题。
有更新gmap的解决方案吗?
【问题讨论】:
标签:
google-maps
jsf-2
primefaces
【解决方案1】:
试试这个
private void clearMap ( DefaultMapModel map)
{
for (Marker marker : map.getMarkers()) {
marker.setVisible(false);
}
}
【解决方案2】:
尝试在 gmap 标签内添加一个 ajax 元素:
<p:gmap ...>
<p:ajax event="overlaySelect" listener="#{myBean.onMarkerSelect}" update=":form:MapId" />
</p:gmap>
将此方法添加到您的托管 bean(例如 myBean):
public void onMarkerSelect(OverlaySelectEvent event){
Marker marker = (Marker)event.getOverlay();
}
使用该方法中的标记和 mapModel 执行您想要执行的操作。
【解决方案3】:
或者您可以使用 javascript google maps api 来设置和更新标记。