Namespaces
Variants
Actions
(Difference between revisions)

Tracking changes in the current location in Symbian Web Runtime

Jump to: navigation, search
(New page: __NOTOC__ __NOEDITSECTION__ {{KBCS}} {{CodeSnippet |id=CS001176 |platform=S60 5th Edition |devices=Nokia 5800 XpressMusic |category=Web Runtime (WRT) |subcategory=S60 Platform Services |cr...)
 
m
Line 125: Line 125:
 
* [http://www.forum.nokia.com/document/Web_Developers_Library/GUID-53CE4DE6-F065-4339-8C18-5C30A9540053.html Web Developer's Library: JavaScript Location Service API]
 
* [http://www.forum.nokia.com/document/Web_Developers_Library/GUID-53CE4DE6-F065-4339-8C18-5C30A9540053.html Web Developer's Library: JavaScript Location Service API]
  
[[Category:Web Runtime (WRT)]][[Category:S60 Platform Services]]
+
[[Category:Web Runtime (WRT)]][[Category:S60 Platform Services]][[Category:Code Snippet]]

Revision as of 12:16, 21 January 2010


Template:KBCS

Article Metadata

Tested with
Devices(s): Nokia 5800 XpressMusic

Compatibility
Platform(s): S60 5th Edition

Article
Keywords: device.getServiceObject(), Service.Location, Service.Location.Trace()
Created: (17 Nov 2008)
Last edited: tanjaluodes (21 Jan 2010)

Overview

This code snippet demonstrates how to track changes in the current location by using the Location Service API of the Web Runtime (WRT).

Source: widget.xhtml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="StyleSheet" href="style/general.css" type="text/css" />
<script type="text/javascript" src="script/script.js" />
<title>WRT Application</title>
</head>
<body>
<div id="bodyContent" class="bodyContent">
<div id="location">
<table id="locationData">
<tr id="latitude">
<td id="latitudeHeading">Lat.</td>
<td id="latitudeData"></td>
</tr>
<tr id="longitude">
<td id="longitudeHeading">Long.</td>
<td id="longitudeData"></td>
</tr>
</table>
</div>
<input type="button" value="Start tracking"
onclick="startTracking();" />
</div>
</body>
</html>

Source: script.js

var serviceObj = null;
var criteria = null;
 
window.onload = init;
 
// Initializes the widget
function init() {
// Obtain the Location service object
try {
serviceObj = device.getServiceObject("Service.Location", "ILocation");
} catch (ex) {
alert("Service object cannot be found.");
return;
}
 
// Initialize the criteria for the service object
criteria = new Object();
criteria.LocationInformationClass = "BasicLocationInformation";
}
 
// Starts the tracking
function startTracking() {
if (serviceObj == null) {
alert("Service object has not been initialized.");
return;
}
 
try {
// Define the callback function for tracking the location
var result = serviceObj.ILocation.Trace(criteria, locationDataReady);
} catch (ex) {
alert(ex);
}
}
 
// Called when Trace has got data
function locationDataReady(transId, eventCode, result) {
// On error situation, display the error message
if (eventCode == 4) {
alert("Error " + result.ErrorCode + ": " + result.ErrorMessage);
return;
}
 
var latitude = result.ReturnValue.Latitude;
displayData("latitudeData", latitude.toFixed(4) + " \u00B0");
 
var longitude = result.ReturnValue.Longitude;
displayData("longitudeData", longitude.toFixed(4) + " \u00B0");
}
 
// Displays the data in an HTML element
function displayData(elementId, data) {
var element = document.getElementById(elementId);
 
// Remove the first child node, if it's not null
if (element.firstChild != null) {
element.removeChild(element.firstChild);
}
 
element.appendChild(document.createTextNode(data));
}

Postconditions

The changes in current location are displayed.

See also

117 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved