All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.gwt.maps.client.overlays.Marker Maven / Gradle / Ivy

There is a newer version: 3.10.0-alpha-7
Show newest version
package com.google.gwt.maps.client.overlays;

/*
 * #%L
 * GWT Maps API V3 - Core API
 * %%
 * Copyright (C) 2011 - 2012 GWT Maps API V3
 * %%
 * 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.
 * #L%
 */

import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.maps.client.MapImpl;
import com.google.gwt.maps.client.MapWidget;
import com.google.gwt.maps.client.base.LatLng;
import com.google.gwt.maps.client.events.MapEventType;
import com.google.gwt.maps.client.events.MapHandlerRegistration;
import com.google.gwt.maps.client.events.animation.AnimationChangeEventFormatter;
import com.google.gwt.maps.client.events.animation.AnimationChangeMapHandler;
import com.google.gwt.maps.client.events.click.ClickEventFormatter;
import com.google.gwt.maps.client.events.click.ClickMapHandler;
import com.google.gwt.maps.client.events.clickable.ClickableChangeEventFormatter;
import com.google.gwt.maps.client.events.clickable.ClickableChangeMapHandler;
import com.google.gwt.maps.client.events.cursor.CursorChangeEventFormatter;
import com.google.gwt.maps.client.events.cursor.CursorChangeMapHandler;
import com.google.gwt.maps.client.events.dblclick.DblClickEventFormatter;
import com.google.gwt.maps.client.events.dblclick.DblClickMapHandler;
import com.google.gwt.maps.client.events.drag.DragEventFormatter;
import com.google.gwt.maps.client.events.drag.DragMapHandler;
import com.google.gwt.maps.client.events.dragend.DragEndEventFormatter;
import com.google.gwt.maps.client.events.dragend.DragEndMapHandler;
import com.google.gwt.maps.client.events.draggable.DraggableChangeEventFormatter;
import com.google.gwt.maps.client.events.draggable.DraggableChangeMapHandler;
import com.google.gwt.maps.client.events.dragstart.DragStartEventFormatter;
import com.google.gwt.maps.client.events.dragstart.DragStartMapHandler;
import com.google.gwt.maps.client.events.flat.FlatChangeEventFormatter;
import com.google.gwt.maps.client.events.flat.FlatChangeMapHandler;
import com.google.gwt.maps.client.events.icon.IconChangeEventFormatter;
import com.google.gwt.maps.client.events.icon.IconChangeMapHandler;
import com.google.gwt.maps.client.events.mousedown.MouseDownEventFormatter;
import com.google.gwt.maps.client.events.mousedown.MouseDownMapHandler;
import com.google.gwt.maps.client.events.mouseout.MouseOutEventFormatter;
import com.google.gwt.maps.client.events.mouseout.MouseOutMapHandler;
import com.google.gwt.maps.client.events.mouseover.MouseOverEventFormatter;
import com.google.gwt.maps.client.events.mouseover.MouseOverMapHandler;
import com.google.gwt.maps.client.events.mouseup.MouseUpEventFormatter;
import com.google.gwt.maps.client.events.mouseup.MouseUpMapHandler;
import com.google.gwt.maps.client.events.projection.ProjectionChangeEventFormatter;
import com.google.gwt.maps.client.events.projection.ProjectionChangeMapHandler;
import com.google.gwt.maps.client.events.rightclick.RightClickEventFormatter;
import com.google.gwt.maps.client.events.rightclick.RightClickMapHandler;
import com.google.gwt.maps.client.events.shadow.ShadowChangeEventFormatter;
import com.google.gwt.maps.client.events.shadow.ShadowChangeMapHandler;
import com.google.gwt.maps.client.events.shape.ShapeChangeEventFormatter;
import com.google.gwt.maps.client.events.shape.ShapeChangeMapHandler;
import com.google.gwt.maps.client.events.title.TitleChangeEventFormatter;
import com.google.gwt.maps.client.events.title.TitleChangeMapHandler;
import com.google.gwt.maps.client.events.visible.VisibleChangeEventFormatter;
import com.google.gwt.maps.client.events.visible.VisibleChangeMapHandler;
import com.google.gwt.maps.client.events.zindex.ZindexChangeEventFormatter;
import com.google.gwt.maps.client.events.zindex.ZindexChangeMapHandler;
import com.google.gwt.maps.client.mvc.MVCObject;
import com.google.gwt.maps.client.streetview.StreetViewPanoramaImpl;
import com.google.gwt.maps.client.streetview.StreetViewPanoramaWidget;

/**
 * Creates a marker with the options specified. If a map is specified, the marker is added to the map upon construction.
 * Note that the position must be set for the marker to display. This class extends MVCObject. 
*
* See Marker API Doc */ public class Marker extends MVCObject { /** * Creates a marker with the options specified. If a map is specified, the marker is added to the map upon * construction. Note that the position must be set for the marker to display. use newInstance(); */ protected Marker() { } /** * Creates a marker with the options specified. If a map is specified, the marker is added to the map upon * construction. Note that the position must be set for the marker to display. * * @param options {@link MarkerOptions} */ public static Marker newInstance(MarkerOptions options) { return createJso(options).cast(); } private static final native JavaScriptObject createJso(MarkerOptions options) /*-{ return new $wnd.google.maps.Marker(options); }-*/; /** * get animation */ public final Animation getAnimation() { Integer animation = getAnimationImpl(); if (animation == null) { return null; } return Animation.fromValue(animation); } private final native Integer getAnimationImpl() /*-{ return this.getAnimation(); }-*/; /** * get Clickable */ public final native boolean getClickable() /*-{ return this.getClickable(); }-*/; /** * get Cursor */ public final native String getCursor() /*-{ return this.getCursor(); }-*/; /** * get Draggable */ public final native boolean getDraggable() /*-{ return this.getDraggable(); }-*/; /** * get Flat */ public final native boolean getFlat() /*-{ return this.getFlat(); }-*/; /** * get Icon (if its a string use this) */ public final native String getIcon_String() /*-{ return this.getIcon(); }-*/; /** * get Icon (if it is a marker image) */ public final native MarkerImage getIcon_MarkerImage() /*-{ return this.getIcon(); }-*/; public final MapWidget getMap() { return MapWidget.newInstance(getMapImpl()); } private final native MapImpl getMapImpl() /*-{ return this.getMap(); }-*/;; /** * get Map (if it is a pano) */ public final StreetViewPanoramaWidget getMap_StreetViewPanorama() { return StreetViewPanoramaWidget.newInstance(getMap_StreetViewPanoramaImpl()); } private final native StreetViewPanoramaImpl getMap_StreetViewPanoramaImpl() /*-{ return this.getMap(); }-*/; /** * get Position */ public final native LatLng getPosition() /*-{ return this.getPosition(); }-*/; /** * get Shadow (if it is a String) */ public final native String getShadow_String() /*-{ return this.getShadow(); }-*/; /** * get Shadow (if it is a MarkerImage) */ public final native MarkerImage getShadow_MarkerImage() /*-{ return this.getShadow(); }-*/; /** * get Shape */ public final native MarkerShape getShape() /*-{ return this.getShape(); }-*/; /** * get Title */ public final native String getTitle() /*-{ return this.getTitle(); }-*/; /** * get Visible */ public final native boolean getVisible() /*-{ return this.getVisible(); }-*/; /** * get Z Index */ public final native int getZindex() /*-{ return this.getZIndex(); }-*/; /** * set Animation * * @param animation */ public final void setAnimation(Animation animation) { if (animation == null) { setAnimation(animation); } else { setAnimationImpl(animation.value()); } } private final native void setAnimationImpl(Integer animation) /*-{ this.setAnimation(animation); }-*/; /** * set Clickable * * @param clickable */ public final native void setClickable(boolean clickable) /*-{ this.setClickable(clickable); }-*/; /** * set Cursor * * @param cursor */ public final native void setCursor(String cursor) /*-{ this.setCursor(cursor); }-*/; /** * set Draggable * * @param draggable */ public final native void setDraggable(boolean draggable) /*-{ this.setDraggable(draggable); }-*/; /** * set Flat * * @param flat */ public final native void setFlat(boolean flat) /*-{ this.setFlat(flat); }-*/; /** * set Icon * * @param icon */ public final native void setIcon(String icon) /*-{ this.setIcon(icon); }-*/; /** * set Icon * * @param icon */ public final native void setIcon(MarkerImage icon) /*-{ this.setIcon(icon); }-*/; /** * set Map * * @param mapWidget */ public final void setMap(MapWidget mapWidget) { if (mapWidget == null) { close(); } else { setMapImpl(mapWidget.getJso()); } } private final native void setMapImpl(MapImpl map) /*-{ this.setMap(map); }-*/; /** * set Map * * @param pano */ public final void setMap(StreetViewPanoramaWidget pano) { setMapImpl(pano.getJso()); } private final native void setMapImpl(StreetViewPanoramaImpl pano) /*-{ this.setMap(pano); }-*/; /** * set Options * * @param options */ public final native void setOptions(MarkerOptions options) /*-{ this.setOptions(options); }-*/; /** * set Position * * @param latlng */ public final native void setPosition(LatLng latlng) /*-{ this.setPosition(latlng); }-*/; /** * set Shadow * * @param shadow */ public final native void setShadow(String shadow) /*-{ this.setShadow(shadow); }-*/; /** * set MarkerImage * * @param markerImage */ public final native void setShadow(MarkerImage markerImage) /*-{ this.setShadow(markerImage); }-*/; /** * set Shape * * @param shape */ public final native void setShape(MarkerShape shape) /*-{ this.setShape(shape); }-*/; /** * set Title * * @param title */ public final native void setTitle(String title) /*-{ this.setTitle(title); }-*/; /** * set Visible * * @param visible */ public final native void setVisible(boolean visible) /*-{ this.setVisible(visible); }-*/; /** * set Z index * * @param number */ public final native void setZindex(int number) /*-{ this.setZIndex(number); }-*/; /** * The maximum default z-index that the API will assign to a marker. You may set a higher z-index to bring a marker to * the front. */ public final native int getMax_Zindex() /*-{ return $wnd.google.maps.Marker.MAX_ZINDEX; }-*/; /** * This event is fired when the marker's animation property changes. * * @param handler */ public final HandlerRegistration addAnimationChangeHandler(AnimationChangeMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.ANIMATION_CHANGED, handler, new AnimationChangeEventFormatter()); } /** * This event is fired when the marker icon was clicked. * * @param handler */ public final HandlerRegistration addClickHandler(ClickMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.CLICK, handler, new ClickEventFormatter()); } /** * This event is fired when the marker's clickable property changes. * * @param handler */ public final HandlerRegistration addClickableChangeHandler(ClickableChangeMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.CLICKABLE_CHANGED, handler, new ClickableChangeEventFormatter()); } /** * This event is fired when the marker's cursor property changes. * * @param handler */ public final HandlerRegistration addCursorChangeHandler(CursorChangeMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.CURSOR_CHANGED, handler, new CursorChangeEventFormatter()); } /** * This event is fired when the marker icon was double clicked. * * @param handler */ public final HandlerRegistration addDblClickHandler(DblClickMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.DBLCLICK, handler, new DblClickEventFormatter()); } /** * This event is repeatedly fired while the user drags the marker. * * @param handler */ public final HandlerRegistration addDragHandler(DragMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.DRAG, handler, new DragEventFormatter()); } /** * This event is fired when the user stops dragging the marker. * * @param handler */ public final HandlerRegistration addDragEndHandler(DragEndMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.DRAGEND, handler, new DragEndEventFormatter()); } /** * This event is fired when the marker's draggable property changes. * * @param handler */ public final HandlerRegistration addDraggableChangeHandler(DraggableChangeMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.DRAGGABLE_CHANGED, handler, new DraggableChangeEventFormatter()); } /** * This event is fired when the user starts dragging the marker. * * @param handler */ public final HandlerRegistration addDragStartHandler(DragStartMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.DRAGSTART, handler, new DragStartEventFormatter()); } /** * This event is fired when the marker's flat property changes. * * @param handler */ public final HandlerRegistration addFlatChangeHandler(FlatChangeMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.FLAT_CHANGED, handler, new FlatChangeEventFormatter()); } /** * This event is fired when the marker icon property changes. * * @param handler */ public final HandlerRegistration addIconChangeHandler(IconChangeMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.ICON_CHANGED, handler, new IconChangeEventFormatter()); } /** * This event is fired for a mousedown on the marker. * * @param handler */ public final HandlerRegistration addMouseDownHandler(MouseDownMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.MOUSEDOWN, handler, new MouseDownEventFormatter()); } /** * This event is fired when the mouse leaves the area of the marker icon. * * @param handler */ public final HandlerRegistration addMouseOutMoveHandler(MouseOutMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.MOUSEOUT, handler, new MouseOutEventFormatter()); } /** * This event is fired when the mouse enters the area of the marker icon. * * @param handler */ public final HandlerRegistration addMouseOverHandler(MouseOverMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.MOUSEOVER, handler, new MouseOverEventFormatter()); } /** * This event is fired for a mouseup on the marker. * * @param handler */ public final HandlerRegistration addMouseUpHandler(MouseUpMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.MOUSEUP, handler, new MouseUpEventFormatter()); } /** * This event is fired when the marker position property changes. * * @param handler */ public final HandlerRegistration addProjectionChangeHandler(ProjectionChangeMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.PROJECTION_CHANGED, handler, new ProjectionChangeEventFormatter()); } /** * This event is fired for a rightclick on the marker. * * @param handler */ public final HandlerRegistration addRightClickHandler(RightClickMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.RIGHTCLICK, handler, new RightClickEventFormatter()); } /** * This event is fired when the marker's shadow property changes. * * @param handler */ public final HandlerRegistration addShadowChangeHandler(ShadowChangeMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.SHADOW_CHANGED, handler, new ShadowChangeEventFormatter()); } /** * This event is fired when the marker's shape property changes. * * @param handler */ public final HandlerRegistration addShapeChangeHandler(ShapeChangeMapHandler handler) { return MapHandlerRegistration .addHandler(this, MapEventType.SHAPE_CHANGED, handler, new ShapeChangeEventFormatter()); } /** * This event is fired when the marker title property changes. * * @param handler */ public final HandlerRegistration addTitleChangeHandler(TitleChangeMapHandler handler) { return MapHandlerRegistration .addHandler(this, MapEventType.TITLE_CHANGED, handler, new TitleChangeEventFormatter()); } /** * This event is fired when the marker's visible property changes. * * @param handler */ public final HandlerRegistration addVisibleChangeHandler(VisibleChangeMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.VISIBLE_CHANGED, handler, new VisibleChangeEventFormatter()); } /** * This event is fired when the marker's zIndex property changes. * * @param handler */ public final HandlerRegistration addZindexChangeHandler(ZindexChangeMapHandler handler) { return MapHandlerRegistration.addHandler(this, MapEventType.ZINDEX_CHANGED, handler, new ZindexChangeEventFormatter()); } /** * Close the marker. Clear the marker from the map. */ public final native void close() /*-{ this.setMap(); }-*/; /** * Close the marker. Clear the marker from the map. */ public final native void clear() /*-{ this.setMap(); }-*/; }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy