我正致力于面向移动浏览器的Javascript。目标是每隔几秒保存当前的地理位置。
在任何给定时间都没有system.getPosition或其他东西来获取当前位置。要获得该位置,可以使用navigator.geolocation.getPosition(function x),其中函数x是一个函数,只要位置可用,它将以位置对象作为参数调用。另一个选项是使用navigator.geolocation.watchPosition(function x),其中每次位置改变时都会使用position对象作为参数调用函数x。
我想要能在任何特定时间获得当前地理位置的东西。
这有效:
var _position;
function setPosition(position) {
_position = position;
}
navigator.geolocation.watchPosition(setPosition);
_position始终保持最新位置。
为什么这不起作用?我得到一个“未捕获的TypeError:无法设置未定义的属性'_position'”:
class GPS {
constructor(){
var _position; //fields in javascript are defined by the
} //constructor
setPosition(position) {
this._position = position;
}
getPosition(){
return this._position;
}
}
gps = new GPS();
navigator.geolocation.watchPosition(gps.setPosition);