<a:form> <a:growl id="growl" life="3000" /> <a:gmap id="gmap" center="36.880257,30.687417" zoom="13" type="HYBRID" style="width:100%;height:400px" model="#{rectanglesView.rectangleModel}" > <a:ajax event="overlaySelect" listener="#{rectanglesView.onRectangleSelect}" 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.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.LatLngBounds; import org.primefaces.model.map.MapModel; import org.primefaces.model.map.Rectangle; @ManagedBean public class RectanglesView implements Serializable { private MapModel rectangleModel; @PostConstruct public void init() { rectangleModel = new DefaultMapModel(); //Shared coordinates LatLng ne = new LatLng(36.879466, 30.667648); LatLng sw = new LatLng(36.885233, 30.702323); //Rectangle Rectangle rect = new Rectangle(new LatLngBounds(sw, ne)); rect.setStrokeColor("#d93c3c"); rect.setFillColor("#d93c3c"); rect.setFillOpacity(0.5); rectangleModel.addOverlay(rect); } public MapModel getRectangleModel() { return rectangleModel; } public void onRectangleSelect(OverlaySelectEvent event) { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Rectangle Selected", null)); } }