Javascript向google.maps.Map添加函数
向google.maps.Map对象添加两个函数有点困难,一个函数调用另一个函数Javascript向google.maps.Map添加函数,javascript,google-maps,Javascript,Google Maps,向google.maps.Map对象添加两个函数有点困难,一个函数调用另一个函数 google.maps.Map.prototype.addMarkerFromJson = function() { alert("hi"); } google.maps.Map.prototype.getPictureDataFromJson = function (jsonObj) { this.addMarkerFromJson(); } 此代码引发一个错误: Uncaught TypeE
google.maps.Map.prototype.addMarkerFromJson = function() {
alert("hi");
}
google.maps.Map.prototype.getPictureDataFromJson = function (jsonObj) {
this.addMarkerFromJson();
}
此代码引发一个错误:
Uncaught TypeError: Object #<Object> has no method 'addMarkerFromJson'
这仍然不起作用(警报不会被触发),但它也不会在控制台中引发错误
我很想知道我到底做错了什么,也很想知道为什么会这样
编辑:当我再次查看时,我开始认为
this.addMarkerFromJson()中的this
代码>实际上指的是函数()定义,而不是我要将其附加到的映射对象?在这种情况下,我将如何调用其他函数?回答我自己的问题:
这就是我的愚蠢!我使用mapObject.getPictureDataFromJson()作为jquery.get()的成功回调,因此此
引用的是调用方(get函数),而不是map对象
google.maps.Map.prototype.anotherTestFunction = function() {
alert("hi");
}
google.maps.Map.prototype.aTestFunction = function (jsonObj) {
this.anotherTestFunction();
}