Location data involves a precisely specified position on the Earth's surface — as provided by a latitude-longitude coordinate — along with associated data, such as:
更多信息见 Geographic Coordinate .
This data can be extracted through a variety of methods. One of the most well known methods of positioning is GPS (Global Positioning System), a publicly available system that uses radiowave signals received from Earth-orbiting satellites to calculate the precise position and time of the receiver. Another popular method is 'Cell Identifier Positioning', which uses the cell identifier of the cell site that is currently serving the receiving device to calculate its approximate location. These and other positioning methods can all be used with the Location API; the only requirement for a location data source within the API is that it provides a latitude-longitude coordinate with a date/time value, with the option of providing the other attributes listed above.
coordinate
is a basic unit of geographical information. The
coordinate
type has attributes to hold the
latitude
,
longitude
and
altitude
.
The three dimensional position of an object such as a mobile device can be specified by giving the latitude, longitude and altitude. That is the values held in the coordinate type. Additionally for computation of future positions we would like to know if the object is moving, what speed it is doing and what is the timestamp of the last position data. Position therefore includes values for the coordinate , speed 和 timestamp . Position also takes responsibility for validation of sensible values for these properties. These are exposed as the latitudeValid , longitudeValid , altitudeValid , speedValid , horizontalAccuracyValid ,和 verticalAccuracyValid 特性。
We have a Position 类型, coordinate type but where does the data come from? Also it is a good idea to be able to indicate alternative sources. Perhaps instead of directly picking up GPS satellites it might be desirable to do some testing using a datafile.
PositionSource type provides the developer with control, within the limits allowed by the platform, of the source of the geographical data. PositionSource supports multiple plugins, including an NMEA 插件。
NMEA is a common text-based protocol for specifying navigational data. The PositionSource NMEA plugin supports multiple data sources, including raw file or TCP socket. The source will emit updates according to the time stamp of each NMEA sentence to produce a "replay" of the recorded data.
见 plugin description for usage examples.
GeoFlickr Example 使用 PositionSource to download thumbnail images from Flickr relevant to the current location.