我在函数回调(尤其是HTML5地理位置API)中遇到了一些麻烦。我对Js也有点陌生。功能:
function getInfo()
{
navigator.geolocation.getCurrentPosition(getPos);
}
接受函数的回调参数,该函数获取传递给它的位置。
function getPos(position)
{
PositionObj.lat = position.coords.latitude;
PositionObj.lon = position.coords.longitude;
}
我创建了一个“位置”对象来存储坐标,但在返回它们时遇到了麻烦。
var PositionObj =
{
lat:null,
lon:null,
returnLat: function()
{
return this.lat;
},
returnLon: function()
{
return this.lon;
}
};
function printStuff()
{
getInfo();
console.log(PositionObj.returnLat());
}
编辑:语法错误已修复。当我调用printStuff()时,我仍然得到“ null”。
最佳答案
要传递回调,请仅使用getPos
而不是立即调用该函数。
使用正确的语法在PositionObj
中声明属性。
PositionObj = {
lat: null,
lon: null,
}