【发布时间】:2018-04-11 13:26:32
【问题描述】:
使用primefaces 6.2
我有这个简单的代码:
<p:gmap center="50.848227, 4.356564" zoom="9" type="map" style="width:100%;height:600px" model="#{welcomePage.mapModel}">
<p:ajax event="overlaySelect" listener="#{welcomePage.onMarkerSelect}" />
</p:gmap>
在html页面的头部:
<script src="http://maps.google.com/maps/api/js?key=*****" type="text/javascript"></script>
.
@WebPage
public class WelcomePage implements Serializable {
private static final long serialVersionUID = -2444997383150958426L;
@Getter
@Setter
MapModel mapModel;
@PostConstruct
public void init() {
mapModel = new DefaultMapModel();
... add data to mapModel...
}
public void onMarkerSelect(OverlaySelectEvent event) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_FATAL, "test", "test"));
}
}
我不知道为什么,但是 onMarkerSelect 方法从未被触发。任何人都可以给我一个提示?我以前从未使用过 Gmap primefaces 组件。
【问题讨论】:
-
@Kukeltje 所有可调试的东西... gmap 显示正确添加的标记。但是单击它们不会触发 onMarkerSelect 方法。放入方法断点确保事件不会被触发......还在不同的浏览器上进行了测试,使用不同的 gmap 选项,但没有运气。
-
如果在点击期间进行了实际的 ajax 调用,您是否在浏览器中进行了调试? (在点击和调用方法之间发生了很多事情)。您添加了一个消息组件来检查错误,您在开发模式下运行您的应用程序,检查了服务器端日志文件? ETC?请下次提及所有这些事情。 “未调用方法”是非常少的信息,在寻找根本原因方面并没有显示出很多努力
标签: google-maps jsf primefaces jsf-2 primefaces-gmap