<a:form> <a:gmap id="gmap" center="36.890257,30.707417" zoom="13" type="HYBRID" model="#{infoWindowView.advancedModel}" style="width:100%;height:400px"> <a:ajax event="overlaySelect" listener="#{infoWindowView.onMarkerSelect}" /> <a:gmapInfoWindow id="infoWindow"> <a:outputPanel style="text-align: center; display: block; margin: auto"> <a:graphicImage name="/demo/images/antalya/#{infoWindowView.marker.data}" height="150" /> <br /> <h:outputText value="#{infoWindowView.marker.title}" /> </a:outputPanel> </a:gmapInfoWindow> </a:gmap> <!-- Preload for demo --> <a:outputPanel style="display:none"> <a:graphicImage name="/demo/images/antalya/konyaalti.png" /> <a:graphicImage name="/demo/images/antalya/ataturkparki.png" /> <a:graphicImage name="/demo/images/antalya/kaleici.png" /> <a:graphicImage name="/demo/images/antalya/karaalioglu.png" /> </a:outputPanel> </a:form>
package com.jarch.showcase.view.data.gmap; import java.io.Serializable; import javax.annotation.PostConstruct; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import org.primefaces.event.map.OverlaySelectEvent; import org.primefaces.model.map.DefaultMapModel; import org.primefaces.model.map.LatLng; import org.primefaces.model.map.MapModel; import org.primefaces.model.map.Marker; @ManagedBean @ViewScoped public class InfoWindowView implements Serializable { private MapModel advancedModel; private Marker marker; @PostConstruct public void init() { advancedModel = new DefaultMapModel(); //Shared coordinates LatLng coord1 = new LatLng(36.879466, 30.667648); LatLng coord2 = new LatLng(36.883707, 30.689216); LatLng coord3 = new LatLng(36.879703, 30.706707); LatLng coord4 = new LatLng(36.885233, 30.702323); //Icons and Data advancedModel.addOverlay(new Marker(coord1, "Konyaalti", "konyaalti.png", "http://maps.google.com/mapfiles/ms/micons/blue-dot.png")); advancedModel.addOverlay(new Marker(coord2, "Ataturk Parki", "ataturkparki.png")); advancedModel.addOverlay(new Marker(coord4, "Kaleici", "kaleici.png", "http://maps.google.com/mapfiles/ms/micons/pink-dot.png")); advancedModel.addOverlay(new Marker(coord3, "Karaalioglu Parki", "karaalioglu.png", "http://maps.google.com/mapfiles/ms/micons/yellow-dot.png")); } public MapModel getAdvancedModel() { return advancedModel; } public void onMarkerSelect(OverlaySelectEvent event) { marker = (Marker) event.getOverlay(); } public Marker getMarker() { return marker; } }