处理地理位置时,javascript会导致错误

时间:2013-11-25 00:56:47

标签: javascript html5 prototype latitude-longitude

所以我正在使用谷歌地图开展一个学校项目,我也希望得到我的位置。但是,当我运行我的脚本时:http://pastebin.com/1kU5DSe0

我收到此错误:Uncaught TypeError: Cannot set property 'lat' of undefined(第15行)

有谁看到我做错了什么? :/

1 个答案:

答案 0 :(得分:0)

updateLocation功能上,您需要使用this.pos.lat代替GeoManager.pos.lat

GeoManager.prototype.updateLocation = function (position) {
    this.pos.lat = position.coords.latitude;
    this.pos.lng = position.coords.longitude;

    console.log(this.pos);
};

编辑:之前我没有注意到这一点,但由于您在this.updateLocation的回调中传递了getCurrentPosition,因此this的上下文}是不同的,这意味着this.pos.lat将是

navigator.geolocation.getCurrentPosition(this.updateLocation.bind(this));

Updated JSFiddle Example