I have a jspx page and a ManagedBean.
I want to create a marker and when the event occurs dragend shoot for ManagedBean
// I want to do through the ManagedBean (dynamically)
<m:marker latitude="#{mapBean.latitude}" longitude="#{mapBean.longitude}"
valueChangeListener="#{mapBean.processValueChange}"
jsVariable="dragMarker" draggable="true">
<m:eventListener eventName="dragend" jsFunction="markerDragHandler"/>
</m:marker>
// Page jspx
<m:map id="mapa" width="100%" height="100%"
latitude="24"
longitude="15"
jsVariable="mapa" zoom="14"
type="google.maps.MapTypeId.HYBRID"
actionListener="#{mapBean.addMarkerHere}">
<m:eventListener eventName="click" jsFunction="addMarkerHere"/>
</m:map>
// ManagedBean
@ManagedBean
@Controller("MapBean")
@Scope("conversation")
public class MapBean{
public void addMarkerHere(ActionEvent actionEvent) {
Map map = (Map) actionEvent.getComponent();
marker = new Marker();
//...
EventListener event = new EventListener();
event.setEventName("dragend");
marker.getChildren().add(event);
// Doubt is here...
marker.addValueChangeListener(changeListenerBean);
map.getChildren().add(marker);
}
}