This document describes the basic and extended position area data classes that contain information about the accuracy of the position returned to an application when it calls RPositioner::GetLastKnownPositionArea().
LBS maintains a cache of previously calculated position fixes. If an application calls RPositioner::GetLastKnownLocation(), LBS returns the most recently calculated position. If an application calls RPositioner::GetLastKnownPositionArea(), LBS returns the position fix that is the best match for the current location of the mobile device. The current location of the mobile device is estimated from data received from the network.
The Location Acquisition API defines a set of position area data classes (figure 1). A client application passes an object of one of these classes as a parameter when it calls RPositioner::GetLastKnownPositionArea(). The position area data classes are defined in LbsAreaInfo.h.
A brief description of the classes follows. Follow the links to more detailed reference documentation.
TPositionAreaInfoBase is the base class of the position area data classes. Applications create an object of one of the derived classes.
TPositionAreaInfo contains basic information about the accuracy of a returned position. Its defines an enumerated type TPositionAreaInfo::_TArea that defines an estimate of how closely the current device position matches the returned position. The position accuracy estimate can be from country level down to street level, depending on how much information is available from the network.
TPositionAreaExtendedInfo extends TPositionAreaInfo to provide details about how the accuracy estimate of the returned position was calculated.
An accuracy estimate can be obtained from the network as some combination of the following:
LBS uses combinations of the above to derive the accuracy estimate returned from TPositionAreaInfo::Area(). Your application can find what types of data were used to calculate the accuracy estimate by passing an object of class TPositionAreaExtendedInfo to RPositioner::GetLastKnownLocationArea() and then using the methods shown in figure 1 to check for code and ID matches.