Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]

#include <LbsPosition.h>
Link against: lbs.lib
Link against: lbsselflocate.lib

Class TPosition

class TPosition : public TLocality;

Description

This class is the standard data structure for retrieving location information. It adds a time dimension to the inherited TLocality information. This enables the speed to be calculated from two TPosition instances.

The time reflects the system time (that is, the mobile terminal) of when the location fix was obtained. It does not indicate the time as obtained from the position technology (for example network or satellite time).

The time is contained in a TTime data structure that provides microsecond resolution. However, it should be noted that system clocks only provide a resolution of milliseconds or indeed hundredths of a second.

Derivation

Members

Defined in TPosition:

Inherited from TCoordinate:

Inherited from TLocality:


Construction and destruction


TPosition()

IMPORT_C TPosition();

Description

Default constructor for TCoordinate. Sets the member data to default values (NaN for coordinates, 0 for time).


TPosition(const TLocality &,TTime)

IMPORT_C TPosition(const TLocality &aLocality, TTime aTime);

Description

Constructor for TPosition. Allows the client to set a locality and an associated time.

Parameters

const TLocality &aLocality

specifies an initial value for the locality of the position.

TTime aTime

specifies an initial value for the time of the position.

[Top]


Member functions


SetTime(TTime)

IMPORT_C void SetTime(TTime aTime);

Description

Sets the time of this position data.

Parameters

TTime aTime

is the new timing information.


SetCurrentTime()

IMPORT_C void SetCurrentTime();

Description

Sets the time of this position data to the current universal time as indicated by the systems clock.


Time()const

IMPORT_C TTime Time() const;

Description

Retrieves the time of this position data.

Return value

TTime

the timing component of this position information.


Speed(const TPosition &,TReal32 &)const

IMPORT_C TInt Speed(const TPosition &aPosition, TReal32 &aSpeed) const;

Description

This method calculates the horizontal speed between the current position and the supplied instance aPosition. The speed is calculated based on the coordinates and time associated with each instance.

Parameters

const TPosition &aPosition

is another position to use in the calculation.

TReal32 &aSpeed

upon successful completion, this is set to the speed indicated by being at this position at its recorded time, and at aPosition at its recorded time. Always positive, in metres per second.

Return value

TInt

a Symbian OS error code. KErrArgument if any of iLatitude, iLongitude, aPosition.iLatitude or aPosition.iLongitude are set to NaN. KErrArgument if either of iTime or aPosition.iTime are set to zero. KErrArgument if iTime and aPosition.iTime are the same.


Speed(const TPosition &,TReal32 &,TReal32 &)const

IMPORT_C TInt Speed(const TPosition &aPosition, TReal32 &aSpeed, TReal32 &aDelta) const;

Description

This method calculates the horizontal speed between the current position and the supplied instance aPosition. The speed is calculated based on the coordinates and time associated with each instance. An estimate of the accuracy of the result is also provided.

Parameters

const TPosition &aPosition

is another position to use in the calculation.

TReal32 &aSpeed

upon successful completion, this is set to the speed indicated by being at this position at its recorded time, and at aPosition at its recorded time. Always positive, in metres per second.

TReal32 &aDelta

upon successful completion, this is set to an estimate of the accuracy of the calculation, in metres per second.

Return value

TInt

a Symbian OS error code. KErrArgument if any of iLatitude, iLongitude, aPosition.iLatitude or aPosition.iLongitude are set to NaN. KErrArgument if any of iHorizontalAccuracy or aPosition.iHorizontalAccuracy are set to NaN. KErrArgument if either of iTime or aPosition.iTime are set to zero. KErrArgument if iTime and aPosition.iTime are the same.

[Top]


Member data


iTime

protected: TTime iTime;

Description

This is the system time when the position related member data was obtained.