我在PrimeFaces 5.2中使用GMap时遇到问题 我试图用一个标记显示一个地图窗口,但标记没有显示,我一直在没有标记的情况下得到空白地图。经过调查,我发现显然XHTML文件中的模型标签被忽略了。即使我填写完全废话(如model =“#{asdfasdf}),它甚至不会抛出错误。
我的代码片段:
XHTML
<p:outputPanel id="mapPanel" style="text-align:center;width:400px">
<p:gmap id="map" rendered="#{testRecordsView.showMap}"
model="#{GMapView.simpleModel}" zoom="10" type="ROADMAP"
center="#{testRecordsView.selectedTest.lat}, #{testRecordsView.selectedTest.lng}"
style="width:400px;height:400px" />
</p:outputPanel>
GMapView.java
@ManagedBean
public class GMapView implements Serializable {
private static final long serialVersionUID = -2238997881933594120L;
private MapModel simpleModel;
@ManagedProperty("#{testRecordsView}")
private TestRecordsView dtView;
@PostConstruct
public void init() {
System.out.println("MAPMAPMAP");
simpleModel = new DefaultMapModel();
LatLng coord1 = new LatLng(dtView.getSelectedTest().getLat(), dtView.getSelectedTest().getLng());
// Basic marker
simpleModel.addOverlay(new Marker(coord1, "test"));
}
public MapModel getSimpleModel() {
System.out.println("Map: " + simpleModel + " !");
return simpleModel;
}
public void setDtView(TestRecordsView dtView) {
this.dtView = dtView;
}
}
GMapView中的打印件永远不会发生,如果我在类中的某处放置断点,它们也不会被激活。显然整个班级从未被召唤过。以前有人有这个问题吗?
答案 0 :(得分:0)
这一行:
model="#{GMapView.simpleModel}" zoom="10" type="ROADMAP"
在开始时把g放在小写字母中;-)
model="#{gMapView.simpleModel}" zoom="10" type="ROADMAP"
你去吧。