Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript向google.maps.Map添加函数_Javascript_Google Maps - Fatal编程技术网

Javascript向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对象添加两个函数有点困难,一个函数调用另一个函数

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();
}