final MapZoomEvent evt = MapZoomEvent.getMapZoomEvent(request);
final int zoom = evt.getZoom();
setZoomByClient(zoom);
Events.postEvent(evt);
} else if (cmd.equals("onInfoChange")) {
final InfoChangeEvent evt = InfoChangeEvent.getInfoChangeEvent(request);
setInfoByClient(evt.getInfo());
Events.postEvent(evt);
} else if (cmd.equals("onMapClick")
|| cmd.equals("onMapDoubleClick")
|| cmd.equals("onMapRightClick")) {
final MapMouseEvent evt = MapMouseEvent.getMapMouseEvent(request);
Events.postEvent(evt);
} else if (cmd.equals(Events.ON_SELECT)) {
SelectEvent evt = SelectEvent.getSelectEvent(request);
Set selItems = evt.getSelectedItems();
final Component mitem = selItems == null || selItems.isEmpty() ?
null : (Component) selItems.iterator().next();
setSelectedItem(mitem);
Events.postEvent(evt);
} else if (cmd.equals("onMapTypeChange")) {
final MapTypeChangeEvent evt = MapTypeChangeEvent.getMapTypeChangeEvent(request);
setMapTypeByClient(evt.getType());
Events.postEvent(evt);
} else if (cmd.equals("onMapDrop")) {
final MapDropEvent evt = MapDropEvent.getMapDropEvent(request);
final Component dragged = evt.getDragged();
if (dragged instanceof Gmarker)
((Gmarker) dragged).setAnchor(evt.getLatLng());
Events.postEvent(evt);
} else
super.service(request, everError);
}