package org.diretto.web.richwebclient.view.widgets.googlemap.client.markers; import com.google.gwt.maps.client.HasMap; import com.google.gwt.maps.client.base.LatLng; import com.google.gwt.maps.client.overlay.impl.MarkerImpl; /** * This {@code abstract} class provides a default implementation and class * constraints for a {@link Marker}. * * @author Tobias Schlecht */ abstract class AbstractMarker extends com.google.gwt.maps.client.overlay.Marker implements Marker { /** * Provides base implementation to construct a {@link Marker}. * * @param map The corresponding map * @param latitude The {@code Marker} latitude in degrees * @param longitude The {@code Marker} longitude in degrees */ protected AbstractMarker(HasMap map, double latitude, double longitude) { super(); setPosition(new LatLng(latitude, longitude)); setMap(map); } @Override public void setMap(HasMap map) { if(map != null) { MarkerImpl.impl.setMap(super.getJso(), map.getJso()); } else { MarkerImpl.impl.setMap(super.getJso(), null); } } }