Overview
The tracking module in TrackerTag helps you to keep track of your location by sending location updates to a server.
When you've traveled enough distance, or turned enough degrees, TrackerTag will send the current position, heading and speed to the server you want.
At this point, you can send your location information to your own server, or to the TrackerMap server.
We are working on support for Google Latitude and GPSGate.
Technical
TrackerTag will send a http 'get' request to the server. These are the parameters attached to the request:
cmd = sendpos or capabilities
This tells the location server what to do with the information.
If the value equals "sendpos" it is an update about the position.
If the value equals "capabilities" the client requests if the server can do more (like receiveing cached positions).
The server can reply with the text "POST_MULTI_POS" to indicate it supports receiving multiple positions at once.
imei = udid or imei
This identifies the client. This can be changed to "id =" in the near future.
lat
The latitude of the location
lon
The longitude of the location
speed
For historical reasons the speed is in knots, usually one tenth precision
course
The direction of travel in degrees (0-359)
time
The GMT time when the location was acquired, format is hhmmss.xx
date
The GMT date when the location was acquired, format is yyyymmdd
label
The label you set in TrackerTag for the current trip or location.
Optional
These arguments may or may not be sent to the server:
status
The state of the gps: V = variable, inaccurate position, A = active, accurate position (usually less than 25 meters precision)
precision
The horizontal precision of the current location, in meters
alt
The altitude of the current location, if known
tripid
Id to group series of locations into one tripid
ip=check
This tells the server to compare the public IP of the app with a list of known fixed IP adresses with gps locations.
If the app is using one of these IP addresses to access the server, the server can store the known location of that IP address instead of the gps coordinates the client sent.
This is to prevent the stored location from jumping around when a user is inside a building and connected to a wifi network.
Example
For example, the HTTP request could be:
http://www.yourserver.com/storegps.php?
cmd=sendpos&imei=40dab9dab&lat=31.89838&lon=5.47938
&status=V&precision=102&speed=18.0&course=16
&time=122915.23&date=20120322&label=walking
Multipos
If the server supports receiving multiple positions, the client (app) can cache locations when the internet connection is low or not available After a while the client will send one POST request with all cached locations.
The POST argument is named "positions" and contains a tab-separated multi line string. The first line contains the field names ("id status lat lon...") separated by tabs, the other lines contain the values for each position.
See also:
Settings