/*
* Copyright 2012 osmdroid authors:
* Copyright 2012 Nicolas Gramlich
* Copyright 2012 Theodore Hong
* Copyright 2012 Fred Eisele
*
* Copyright 2014 Hannes Janetzek
*
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
*
* This program is free software: you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.oscim.layers.marker;
import org.oscim.core.GeoPoint;
/**
* Immutable class describing a GeoPoint with a Title and a Description.
*/
public class MarkerItem {
public static final int ITEM_STATE_FOCUSED_MASK = 4;
public static final int ITEM_STATE_PRESSED_MASK = 1;
public static final int ITEM_STATE_SELECTED_MASK = 2;
/**
* Indicates a hotspot for an area. This is where the origin (0,0) of a
* point will be located relative to the area. In otherwords this acts as an
* offset. NONE indicates that no adjustment should be made.
*/
public enum HotspotPlace {
NONE, CENTER, BOTTOM_CENTER,
TOP_CENTER, RIGHT_CENTER, LEFT_CENTER,
UPPER_RIGHT_CORNER, LOWER_RIGHT_CORNER,
UPPER_LEFT_CORNER, LOWER_LEFT_CORNER
}
public final Object uid;
public final String title;
public final String description;
public final GeoPoint geoPoint;
protected MarkerSymbol mMarker;
/**
* @param title
* this should be <b>singleLine</b> (no <code>'\n'</code> )
* @param description
* a <b>multiLine</b> description ( <code>'\n'</code> possible)
*/
public MarkerItem(String title, String description, GeoPoint geoPoint) {
this(null, title, description, geoPoint);
}
public MarkerItem(Object uid, String title, String description, GeoPoint geoPoint) {
this.title = title;
this.description = description;
this.geoPoint = geoPoint;
this.uid = uid;
}
public Object getUid() {
return uid;
}
public String getTitle() {
return title;
}
public String getSnippet() {
return description;
}
public GeoPoint getPoint() {
return geoPoint;
}
public MarkerSymbol getMarker() {
return mMarker;
}
public void setMarker(MarkerSymbol marker) {
mMarker = marker;
}
}