所以我正在使用谷歌地图开展一个学校项目,我也希望得到我的位置。但是,当我运行我的脚本时:http://pastebin.com/1kU5DSe0
我收到此错误:Uncaught TypeError: Cannot set property 'lat' of undefined
(第15行)
有谁看到我做错了什么? :/
答案 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));