Pebble.js 地理定位不在全球范围内存储位置
Pebble.js Geolocation not Storing Location Globally
我对 Pebble 手表编程还很陌生。我已经做了 3 个小时了。我一直在尝试将纬度和经度分配给变量。希望这只是一个简单的 Javascript 问题,而不是与 Pebble SDK 相关的问题。
这是我的代码:
var lat;
var lon;
var myAPIKey = REDACTED;
var city = 'Boston';
function success(pos) {
console.log('lat= ' + pos.coords.latitude + ' lon= ' + pos.coords.longitude);
lat = pos.coords.latitude;
lon = pos.coords.longitude;
}
function error(err) {
console.log('location error (' + err.code + '): ' + err.message);
}
// Choose options about the data returned
var options = {
enableHighAccuracy: true,
maximumAge: 10000,
timeout: 10000
};
// Request current position
navigator.geolocation.getCurrentPosition(success, error, options);
console.log(lat+'||||'+lon);
当我 运行 CloudPebble 模拟器上的代码时,日志信息如下:
[PHONE] pebble-app.js:?: undefined||||undefined
[PHONE] pebble-app.js:?: lat= 39.0437 lon= -77.4875
我是不是没有正确存储纬度和经度。我想将数据用于全球使用。您可以看到它不存储 lat
和 lon
值,但它实际上存储 consol.log
函数中的 运行。
由于确定位置可能需要一段时间,getCurrentPosition()
不会 运行 同步。相反,它需要一个函数(success
参数)在它(最终)设法获取位置时调用,而在它未能这样做(GPS 或 Wifi 可以)时调用一个函数(error
参数)无法到达或已关闭等)。
您的代码 确实 将值正确存储到您的 lat
和 lon
变量中,但这只会在稍后发生。或者换句话说:你的
console.log(lat+'||||'+lon);
在success
函数运行之前被调用。那个时候数值还没有填。
这是处理长 运行ning 操作的常见 JavaScript 方法。 XMLHTTPRequest
等其他对象的工作方式完全相同。
我对 Pebble 手表编程还很陌生。我已经做了 3 个小时了。我一直在尝试将纬度和经度分配给变量。希望这只是一个简单的 Javascript 问题,而不是与 Pebble SDK 相关的问题。
这是我的代码:
var lat;
var lon;
var myAPIKey = REDACTED;
var city = 'Boston';
function success(pos) {
console.log('lat= ' + pos.coords.latitude + ' lon= ' + pos.coords.longitude);
lat = pos.coords.latitude;
lon = pos.coords.longitude;
}
function error(err) {
console.log('location error (' + err.code + '): ' + err.message);
}
// Choose options about the data returned
var options = {
enableHighAccuracy: true,
maximumAge: 10000,
timeout: 10000
};
// Request current position
navigator.geolocation.getCurrentPosition(success, error, options);
console.log(lat+'||||'+lon);
当我 运行 CloudPebble 模拟器上的代码时,日志信息如下:
[PHONE] pebble-app.js:?: undefined||||undefined
[PHONE] pebble-app.js:?: lat= 39.0437 lon= -77.4875
我是不是没有正确存储纬度和经度。我想将数据用于全球使用。您可以看到它不存储 lat
和 lon
值,但它实际上存储 consol.log
函数中的 运行。
由于确定位置可能需要一段时间,getCurrentPosition()
不会 运行 同步。相反,它需要一个函数(success
参数)在它(最终)设法获取位置时调用,而在它未能这样做(GPS 或 Wifi 可以)时调用一个函数(error
参数)无法到达或已关闭等)。
您的代码 确实 将值正确存储到您的 lat
和 lon
变量中,但这只会在稍后发生。或者换句话说:你的
console.log(lat+'||||'+lon);
在success
函数运行之前被调用。那个时候数值还没有填。
这是处理长 运行ning 操作的常见 JavaScript 方法。 XMLHTTPRequest
等其他对象的工作方式完全相同。