我正在使用google-maps javascript v.3 API。我只是在这里展示了一个聪明的代码,我认为这是唯一与我的问题相关的部分。如何通过google.maps.event.addDomListener调用对象方法时访问对象成员变量
我不明白为什么对象GMaps
的成员变量似乎调用gmaps.initMap时,按如下google.maps.event.addDomListener(window, 'load', gmaps.initMap);
我已经实现的功能GMaps.test
,看看成员变量GMaps.LATIDX
正确地提醒dissapear,这确实按预期工作。但是,当我尝试通过google.maps.event.addDomListener(window, 'load', gmaps.initMap);
呼叫功能GMaps.initMap
中的相同成员变量时,会提醒“未定义”,我不明白为什么。
<!DOCTYPE html>
<html>
<head>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
var GMaps = function() {
this.map = null;
// constants
this.LATIDX = 0; // 2d array index constant (latitude index)
this.LNGIDX = 1; // 2d array index constant (longtitude index)
this.test = function() {
alert(this.LATIDX); // THIS ALERTS 0 AS EXPECTED
}
this.initMap = function(aActor, aLatLngCoord, aLatLngCenter) {
alert(this.LATIDX); // THIS ALERTS "undefined", I DON'T UNDERSTAND WHY.
}
}
</script>
gmaps = new GMaps();
gmaps.test();
google.maps.event.addDomListener(window, 'load', gmaps.initMap);
</head>
</html>