2 * Copyright (C) 2013 HERE Global B.V. All rights reserved.
3 * This software, including documentation, is protected by copyright controlled by
4 * HERE Global B.V. (“Software”). All rights are reserved. Copying, including reproducing,
5 * storing, adapting or translating, any or all of this material requires the prior
6 * written consent of HERE Global B.V. You may use this
7 * Software in accordance with the terms and conditions defined in the
8 * HERE Location Platform Services Terms and Conditions, available at
9 * http://developer.here.com/terms-conditions-base
11 * As an additional permission to the above, you may distribute Software,
12 * in object code format as part of an Application, according to, and subject to, terms and
13 * conditions defined in the Tizen Software Development kit (“SDK”) License Agreement.
14 * You may distribute such object code format Application under terms of your choice,
15 * provided that the header and source files of the Software have not been modified.
21 #include "common/HereMaps_global.h"
23 HERE_MAPS_BEGIN_NAMESPACE
30 * This class represents the standard set of basic location information.
32 * This includes the address, coordinates and map view.
35 class EXPORT_API GeoLocation
39 * This enumeration defines identifiers for location types.
43 LT_Unknown = -1, ///< Indicates an unknown location type.
44 LT_Point, ///< Indicates that the location is a point.
45 LT_Area, ///< Indicates that the location is an area.
46 LT_Line ///< Indicates that the location is a line.
50 * This method is the default constructor.
55 * This method is the copy constructor.
57 * @param rRhs A constant reference to an instance of
58 * <code>GeoLocation</code> whose contents are to be copied into
59 * the object being created.
61 GeoLocation(const GeoLocation& rRhs);
64 * This method is the destructor.
69 * This is the assignment operator.
71 * @param rRhs A constant reference to an instance of
72 * <code>GeoLocation</code> whose contents are to be copied into
75 GeoLocation& operator=(const GeoLocation& rRhs);
78 * This method sets the address of the location.
80 * @param rAddress A constant reference to an object containing an address.
82 void SetAddress(const Address& rAddress);
85 * This method retrieves the address of the location.
87 * @return A constant reference to an object containing an address.
89 const Address& GetAddress() const;
92 * This method sets the label for the location.
94 * @param sLabel A constant reference to an object containing the value of
97 void SetLabel(const String& sLabel);
100 * This method retrieves the label for the location.
102 * @return A constant reference to an object containing the value of
105 const String& GetLabel() const;
108 * This method sets the display position of the location. The display
109 * position contains the coordinates at which to place a marker indicating
110 * the given location on the map.
112 * @param rCoord A constant reference to an object containing the geographic
113 * coordinates of the display position.
115 void SetDisplayPosition(const GeoCoordinates& rCoord);
118 * This method retrieves the display position of the location. The display
119 * position contains the coordinates at which to place a marker indicating
120 * the given location on the map.
122 * @return A constant reference to an object containing the geographic
123 * coordinates of the display position.
125 const GeoCoordinates& GetDisplayPosition() const;
128 * This method appends the navigation position. A navigation position
129 * contains the coordinates of a potential route waypoint. It is used for
130 * routes that pass through the given location.
132 * @param rCoord A constant reference to an object containing the geographic
133 * coordinates of the navigation position.
135 void AppendNavigationPosition(const GeoCoordinates& rCoord);
138 * This method retrieves the number of navigation positions that have been set.
140 * @return An integer indicating the number of navigation positions.
142 size_t GetNumNavigationPositions() const;
145 * This method retrieves the navigation position from the index specified by
146 * the caller. A navigation position contains the coordinates of a potential
147 * route waypoint. It is used for routes that pass through the given
150 * @param idx A value specifying the index into an array of navigation
153 * @return A constant pointer to an object containing the geographic
154 * coordinates of the display position.
156 const GeoCoordinates* GetNavigationPosition(size_t idx) const;
159 * This method sets the map view of the location.
161 * @param rBbox A constant reference to an object that defines the map view
164 void SetMapView(const GeoBoundingBox& rBbox);
167 * This method retrieves the map view of the location.
169 * @return A constant reference to an object that defines the map view
172 const GeoBoundingBox& GetMapView() const;
175 * This method sets the id of the location.
177 * @param sLocationId A constant reference to a string containing the
180 void SetLocationId(const String& sLocationId);
183 * This method retrieves the id of the location.
185 * @return A constant reference to a string containing the
188 const String& GetLocationId() const;
191 * This method sets the location type.
193 * @param aType A numeric value indicating the location type.
195 void SetLocationType(LocationType aType);
198 * This method sets the location type.
200 * @param sType A constant reference to string identifying the location
201 * type. The supported values are "area", "point", and "line".
203 void SetLocationType(const String& sType);
206 * This method retrieves the location type.
208 * @return A numeric value indicating the location type.
210 LocationType GetLocationType() const;
213 class GeoLocationImpl;
214 GeoLocationImpl* m_pImpl;
217 HERE_MAPS_END_NAMESPACE