在一个支持bean的方法中,Mapmodel,marker等 信息准备显示一个俱乐部成员的集合 选定的距离像60公里。完成所有工作后,JSF page" display_all_in_distance.xhtml"退回。不幸的是 我没有渲染地图和标记。但是当我运行xhtml文件时 单独页面显示为 应该。我怎样才能实现按需运行。请参阅下面的代码。
public String displayMembersInDesiredDistance() {
// define Map Model
// GeoApiContext context = new GeoApiContext();
modelMap = new DefaultMapModel();
//set Mapcenter und Circle für address of member doing the search
mapCenter = determineMapCenter(getHomeLatitude(), getHomeLongitude());
Circle circle = new Circle(new LatLng(getHomeLatitude(), t(i).getKdLng());
StringBuilder infoMarker = new StringBuilder();
infoMarker.append(getListeDistanceKontaktdaten().get(i).getKdFamilienname()).append(", ").append(getListeDistanceKontaktdaten().get(i).getKdOrt()).append(", ").append(getListeDistanceKontaktdaten().get(i).getKdStrasse()).append(", ").append(getListeDistanceKontaktdaten().get(i).getKdHausnummer());
modelMap.addOverlay(new Marker(coordinate, infoMarker.toString()));
return "display_all_in_distance.xhtml";
}
XHTML:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui">
<f:view contentType="text/html">
<f:loadBundle var="msg" basename="messages" />
</f:view>
<!-- Definitions head -->
<h:head>
<script src="http://maps.google.com/maps/api/js?key=AIzaSyBvT-XXY97dvqmlet7nvWP1lIXSfaPvz9U" type="text/javascript">
</script>
<meta content='text/html; charset=UTF-8' http-equiv="Content-Type"/>
<title> value="#{msg['AbcOnlineApplications']}"
</title>
</h:head>
<!-- Definitions body -->
<h:body>
<f:view contentType="text/html">
<h:form styleClass="form-horizontal" id="displaymapForm" enctype="multipart/form-data" prependId="false" acceptcharset="UTF-8">
<p:messages id="message" severity="info,warn,error" globalOnly="true" autoUpdate="true"/>
<p:layout fullPage="true">
<p:layoutUnit position="center">
<h:panelGrid columns="2" style="margin-bottom:10px;margin-left:10px" cellpadding="10" >
<img src="resources/img/029.jpg" width="200" height="100" />
<img src="resources/img/ABC_logo.png" width="250" height="100" style="margin-left:100px" />
</h:panelGrid>
<p:gmap center="#{showMembersInDistanceTo.mapCenter}" zoom="10" type="HYBRID" id="gmap"
style="width:100%;height:600px" streetView="true"
model="#{showMembersInDistanceTo.modelMap}">
<p:ajax event="overlaySelect" listener="#{showMembersInDistanceTo.onMarkerSelect}"/>
<p:gmapInfoWindow>
<h:outputText value="#{showMembersInDistanceTo.marker.data}"/>
</p:gmapInfoWindow>
</p:gmap>
<p:commandButton styleClass="btn btn-default"
style="color: green"
action="/enter_familyname.xhtml" value="#{msg['Back']}">
</p:commandButton>
</p:layoutUnit>
</p:layout>
</h:form>
</f:view>
</h:body>
</html>