×
Namespaces

Variants
Actions
Revision as of 07:33, 3 October 2012 by hamishwillee (Talk | contribs)

Archived:Tracking changes in the current location in Flash Lite

From Nokia Developer Wiki
Jump to: navigation, search

This code snippet demonstrates how to track movements of the device using the Location Platform Service for Flash Lite, supported from S60 5th Edition onwards.

Article Metadata
Code ExampleTested with
Devices(s): Nokia 5800 XpressMusic
Compatibility
Platform(s): S60 5th Edition
Symbian
S60 5th Edition
Article
Keywords: Service.Location, location.Trace(), location.CancelNotification()
Created: User:Nokia Developer KB (26 Jan 2009)
Last edited: hamishwillee (03 Oct 2012)

Contents

Preconditions

Note.pngNote: To get location data, the device GPS needs to be active.

Source

// Import Platform Service Interface
import com.nokia.lib.Service;
// Heading of the application
heading_txt.text = "Tracking movements of the device";
text_txt.text = "Start tracking by clicking the button.";
 
// Create new Service object which has location information
var location = new Service("Service.Location", "ILocation");
 
/**********************************************************
** Function for pressing the Track button.
** Calls Trace() method asynchronously.
** Traces location information to the text field.
**********************************************************/

track_mc.onPress = function() {
 
text_txt.text = "Waiting for GPS";
 
// Disable button because an asynchronous method cannot be called twice
track_mc.enabled = false;
 
// Define input parameters
// 1000000 microseconds = 1 second (update interval)
var updateOptions = {UpdateInterval:1000000};
var inParams = {LocationInformationClass:"GenericLocationInfo",
Updateoptions:updateOptions};
 
// Call Trace() as an asynchronous method
location.Trace(inParams,onNotify);
 
// Define callback function
function onNotify(transactionID:Number, eventID:String, outParam:Object) {
if (outParam.ErrorCode == 0) {
var outList = outParam.ReturnValue;
var longitude = outList.Longitude;// Contains longitudinal data
var latitude = outList.Latitude;// Contains latitudinal data
text_txt.text = "Longitude:\r"+longitude+"\rLatitude:\r"+latitude;
} else {
var errorId = outParam.ErrorCode;
text_txt.text = "Error while tracking: "+errorId;
};
};
};
 
/**********************************************************
** Function for pressing the Stop button.
** Calls CancelNotification() method synchronously.
** Method cancels the Trace method
**********************************************************/

stop_mc.onPress = function() {
 
// Define input parameters
var inParams = {CancelRequestType:"TraceCancel"};
 
// Define result value
var outParams = location.CancelNotification(inParams);
if (outParams.ErrorCode == 0) {
text_txt.text = "Trace stopped."
} else {
var errorId2 = outParams.ErrorCode;
text_txt.text = "Error while stopping: "+errorId2;
};
 
// Enable Track button
track_mc.enabled = true;
};

Postconditions

When the Track button is pressed, the current location (longitude and latitude) of the device is displayed. Location information on the screen changes when the device moves. Tracking can be stopped by pressing the Stop button.

Example application

The following sample application has been tested in the Nokia 5800 XpressMusic (S60 5th Edition, Flash Lite 3.0): File:FlashLite Tracking Movements of the Device.zip

See also

47 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×