Ok. I don't understand what is the problem, but follow a code which works for me:
Code:
var test = test || {};
/**
* TODO
*/
test.location = {
_so: null,
init: function(){
try {
this._so = device.getServiceObject("Service.Location", "ILocation");
}
catch (e) {
}
},
getLocation: function(callbackSuccess, callbackError){
try {
var updateoptions = {};
updateoptions.PartialUpdates = false;
var criteria = {};
criteria.LocationInformationClass = "GenericLocationInfo";
criteria.Updateoptions = updateoptions;
var result = this._so.ILocation.Trace(criteria, function(transId, eventCode, result){
if (result.ErrorCode && result.ErrorCode !== 0) {
//ERROR
response = {
'error': result.ErrorMessage,
'code': result.ErrorCode
};
callbackError.call(this, response);
}
else {
//SUCCESS
response = {
'success': 'Success Location',
'code': result.ErrorCode,
'longitude': result.ReturnValue.Longitude,
'latitude': result.ReturnValue.Latitude
};
callbackSuccess.call(this, response);
}
});
var errCode = result.ErrorCode;
var response = null;
if (errCode && errCode != 0) {
response = {
'error': result.ErrorMessage,
'code': result.ErrorCode
};
callbackError.call(this, response);
}
}
catch (e) {
}
}
};