/* * $Id: org.eclipse.jdt.ui.prefs 5004 2006-03-17 20:47:08 -0800 (Fri, 17 Mar 2006) eelco12 $ * $Revision: 5004 $ * $Date: 2006-03-17 20:47:08 -0800 (Fri, 17 Mar 2006) $ * * ============================================================================== * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package wicket.contrib.gmap3.mapevent; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.request.Request; import org.apache.wicket.request.cycle.RequestCycle; import wicket.contrib.gmap3.GMap; /** * See "zoomend" in the event section of <a * href="http://www.google.com/apis/maps/documentation/reference.html#GMap2" * >GMap2</a>. */ public abstract class ZoomChangedListener extends GMapEventListenerBehavior { private static final long serialVersionUID = -5092475688071699463L; @Override protected String getEvent() { return Event.ZOOM_CHANGED.toString(); } @Override protected void onEvent( final AjaxRequestTarget target ) { final Request request = RequestCycle.get().getRequest(); int oldLevel = 0; int newLevel = 0; final String oldZoomLevelParameter = request.getRequestParameters().getParameterValue( "argument0" ).toString(); final String newZoomLevelParameter = request.getRequestParameters().getParameterValue( "argument1" ).toString(); if ( oldZoomLevelParameter == null || newZoomLevelParameter == null ) { return; } oldLevel = Integer.parseInt( oldZoomLevelParameter ); newLevel = Integer.parseInt( newZoomLevelParameter ); onZoomEnd( target, oldLevel, newLevel ); } /** * Override this method to provide handling of a zoomEnd.<br> * You can get the new center coordinates of the map by calling * {@link GMap#getCenter()}. * * @param target * the target that initiated the move */ protected abstract void onZoomEnd( AjaxRequestTarget target, int oldLevel, int newLevel ); }