Package es.situm.sdk.model.location
Class Coordinate
- java.lang.Object
-
- es.situm.sdk.model.location.Coordinate
-
- All Implemented Interfaces:
android.os.Parcelable
,MapperInterface
public class Coordinate extends java.lang.Object implements android.os.Parcelable, MapperInterface
A structure that contains geographical coordinate. Instances are immutable.See
CoordinateConverter
to convert betweenCoordinate
andCartesianCoordinate
's building coordinate.
-
-
Field Summary
Fields Modifier and Type Field Description static android.os.Parcelable.Creator<Coordinate>
CREATOR
static Coordinate
EMPTY
-
Fields inherited from interface es.situm.sdk.model.MapperInterface
ACCESSIBILITY_MODE, ACCURACY, ADDRESS, ALTITUDE, BEARING, BEARING_FROM, BEARING_QUALITY, BOUNDS, BOUNDS_ROTATED, BUILDING, BUILDING_IDENTIFIER, BUILDING_NAME, CARTESIAN_BEARING, CARTESIAN_COORDINATE, CENTER, CLOSEST_LOCATION_IN_ROUTE, CODE, CONVERSION, COORDINATE, CREATED_AT, CURRENT_INDICATION, CURRENT_STEP_INDEX, CUSTOM_FIELDS, dateFormat, DEGREES, DEGREES_CLOCKWISE, DEVICE_ID, DIMENSIONS, DISTANCE, DISTANCE_TO_CHANGE_FLOOR_THRESHOLD, DISTANCE_TO_CHANGE_INDICATION_THRESHOLD, DISTANCE_TO_CLOSEST_POINT_IN_ROUTE, DISTANCE_TO_END_STEP, DISTANCE_TO_GOAL, DISTANCE_TO_GOAL_THRESHOLD, DISTANCE_TO_IGNORE_FIRST_INDICATION, DISTANCE_TO_NEXT_LEVEL, EDGES, EVENTS, EXCLUDED_TAGS, EXTERNAL_NAVIGATION_PAYLOAD, EXTERNAL_NAVIGATION_TYPE, FIRST_STEP, FLOOR, FLOOR_IDENTIFIER, FLOORS, FOREGROUND_SERVICE_NOTIFICATION_MESSAGE, FOREGROUND_SERVICE_NOTIFICATION_SHOW_STOP_ACTION, FOREGROUND_SERVICE_NOTIFICATION_STOP_ACTION_TEXT, FOREGROUND_SERVICE_NOTIFICATION_TAP_ACTION, FOREGROUND_SERVICE_NOTIFICATION_TITLE, FROM, GEOFENCES, HAS_BEARING, HAS_CARTESIAN_BEARING, HEIGHT, HUMAN_READABLE_MESSAGE, ID, IDENTIFIER, IGNORE_LOW_QUALITY_LOCATIONS, INCLUDED_TAGS, INDICATION_TYPE, INDICATIONS, INDICATIONS_INTERVAL, INDOOR_POIS, INFO_HTML, IS_FIRST, IS_INDOOR, IS_LAST, IS_OUTDOOR, IS_PUBLIC, LAST_STEP, LATITUDE, LONGITUDE, MAP_URL, MINIMIZE_FLOOR_CHANGES, NAME, NEEDED_LEVEL_CHANGE, NEXT_INDICATION, NEXT_LEVEL, NODES, NORTH_EAST, NORTH_WEST, ORIENTATION, ORIENTATION_TYPE, OUTDOOR_BUILDING_DETECTOR_BLE, OUTDOOR_POIS, OUTSIDE_ROUTE_THRESHOLD, PICTURE_THUMB_URL, PICTURE_URL, POI_CATEGORIES, POI_CATEGORY, POI_CATEGORY_CODE, POI_CATEGORY_ICON_SELECTED, POI_CATEGORY_ICON_UNSELECTED, POI_CATEGORY_IDENTIFIER, POI_CATEGORY_IDENTIFIERS, POI_CATEGORY_iNAME, POI_CATEGORY_NAME, POI_NAME, POI_TO, POI_TO_IDENTIFIER, POINTS, POLYGON_POINTS, POSITION, PROVIDER, QUALITY, RADIANS, RADIANS_MINUS_PI_PI, RADIUS, ROTATION, ROUND_INDICATIONS_STEP, ROUTE, ROUTE_STEP, SCALE, SEGMENTS, SOUTH_EAST, SOUTH_WEST, STATUS_NAME, STATUS_ORDINAL, STEP_IDX_DESTINATION, STEP_IDX_ORIGIN, STEPS, TIME_TO_END_STEP, TIME_TO_FIRST_INDICATION, TIME_TO_GOAL, TIME_TO_IGNORE_UNEXPECTED_FLOOR_CHANGES, TIMESTAMP, TO, TO_LEGACY, TRIGGER, UPDATED_AT, USER_IDENTIFIER, WIDTH, X, Y
-
-
Constructor Summary
Constructors Constructor Description Coordinate(double latitude, double longitude)
Coordinate(Coordinate copy)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
describeContents()
double
distanceTo(Coordinate coordinate)
Calculates the distance (in meters) between this coordinate and anotherboolean
equals(java.lang.Object o)
static Coordinate
fromMap(java.util.Map<java.lang.String,java.lang.Object> map)
Return a newCoordinate
instance object containing the data at the given map.double
getLatitude()
Returns latitude in degreesdouble
getLongitude()
Returns longitude in degreesint
hashCode()
java.util.Map<java.lang.String,java.lang.Object>
toMap()
Method to transform object into Mapjava.lang.String
toString()
void
writeToParcel(android.os.Parcel dest, int flags)
-
-
-
Field Detail
-
CREATOR
public static final android.os.Parcelable.Creator<Coordinate> CREATOR
-
EMPTY
public static final Coordinate EMPTY
-
-
Constructor Detail
-
Coordinate
public Coordinate(double latitude, double longitude)
-
Coordinate
public Coordinate(@NonNull Coordinate copy)
-
-
Method Detail
-
getLatitude
public double getLatitude()
Returns latitude in degrees- Returns:
- double. Default is 0
-
getLongitude
public double getLongitude()
Returns longitude in degrees- Returns:
- double. Default is 0
-
distanceTo
@FloatRange(from=0.0) public double distanceTo(Coordinate coordinate) throws java.lang.IllegalArgumentException
Calculates the distance (in meters) between this coordinate and another- Parameters:
coordinate
- the other coordinate. Can't be null- Returns:
- distance in meters. Never a negative value
- Throws:
java.lang.IllegalArgumentException
- ifcartesianCoordinate
is null
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
describeContents
public int describeContents()
- Specified by:
describeContents
in interfaceandroid.os.Parcelable
-
writeToParcel
public void writeToParcel(android.os.Parcel dest, int flags)
- Specified by:
writeToParcel
in interfaceandroid.os.Parcelable
-
toMap
public java.util.Map<java.lang.String,java.lang.Object> toMap()
Description copied from interface:MapperInterface
Method to transform object into Map- Specified by:
toMap
in interfaceMapperInterface
- Returns:
- Map
with the information of the object mapped
-
fromMap
public static Coordinate fromMap(@NonNull java.util.Map<java.lang.String,java.lang.Object> map) throws java.lang.IllegalArgumentException
Return a newCoordinate
instance object containing the data at the given map. UseMapperInterface
to populate the Map. The expected fields are those defined at this class.- Parameters:
map
- Map containing the data used to populate the new object.- Returns:
- New instance.
- Throws:
java.lang.IllegalArgumentException
- If there is not enough information at the given map or it is incorrect.
-
-