<a:form> <a:growl id="growl" showDetail="true" /> <a:gmap id="gmap" center="36.890257,30.707417" zoom="13" type="HYBRID" model="#{markerSelectionView.simpleModel}" style="width:100%;height:400px"> <a:ajax event="overlaySelect" listener="#{markerSelectionView.onMarkerSelect}" update="growl" /> </a:gmap> </a:form>
package com.jarch.showcase.view.data.gmap; import java.io.Serializable; import javax.annotation.PostConstruct; import javax.faces.application.FacesMessage; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import javax.faces.context.FacesContext; 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 MarkerSelectionView implements Serializable { private MapModel simpleModel; private Marker marker; @PostConstruct public void init() { simpleModel = 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); //Basic marker simpleModel.addOverlay(new Marker(coord1, "Konyaalti")); simpleModel.addOverlay(new Marker(coord2, "Ataturk Parki")); simpleModel.addOverlay(new Marker(coord3, "Karaalioglu Parki")); simpleModel.addOverlay(new Marker(coord4, "Kaleici")); } public MapModel getSimpleModel() { return simpleModel; } public void onMarkerSelect(OverlaySelectEvent event) { marker = (Marker) event.getOverlay(); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Marker Selected", marker.getTitle())); } public Marker getMarker() { return marker; } }