我正在使用以下代码使用watchPosition获取用户位置。我还想为fail参数定义代码并将选项传递给watchPosition
,但我不确定代码应该去哪里。
if (navigator.geolocation) {
//Success callback defined, but where shouls fail & options go?
var positionTimer = navigator.geolocation.watchPosition((position) => {
var crd = position.coords;
console.log("Updated user loc...");
console.log(crd.latitude + " : " + crd.longitude);
this.myLatitude = crd.latitude;
this.myLongitude = crd.longitude;
this.updateUserLocation();
},
console.warn("Error getting user location"),
this.options);
}
else {
alert("Geolocation not supported in your browser!");
}
答案 0 :(得分:3)
这是你想要的:
const positionTimer = navigator.geolocation.watchPosition(
(position) => {
// Your success code here
console.log(position);
},
(err) => {
// Your error code here
console.log(err);
},
{
// Options here
}
)
请记住:
箭头函数表达式的语法比函数表达式短,并且不绑定它自己的this,arguments,super或new.target。这些函数表达式最适合非方法函数,不能用作构造函数。
你可以像使用普通的function
那样使用它们,就像上面提到的那样,改变的东西也是如此。
您也可以声明箭头功能:
const success = (position) => { /* Success code here */ }
const error = (err) => { /* Error code here */ }
const options = { /* Options... */ }
const positionTimer = navigator.geolocation.watchPosition(success, error, options);
答案 1 :(得分:1)
你走了:
const options = {};
const id = navigator.geolocation.watchPosition((pos) => {
console.log(pos);
}, (err) => {
console.log(err);
}, options)