繁体   English   中英

Javascript向google.maps.Map添加功能

[英]Javascript adding functions to google.maps.Map

我在将两个函数(其中一个调用另一个函数)添加到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'

本身令人感到困惑,更使我困惑的是当我更改名称时:

google.maps.Map.prototype.anotherTestFunction = function() {
    alert("hi");
}

google.maps.Map.prototype.aTestFunction = function (jsonObj) {
    this.anotherTestFunction();
}

这仍然不起作用(不会触发警报),但是也不会在控制台中引发错误?

很想知道我在这里做错了什么,以及对怪异的解释!

编辑:再次查看时,我开始认为this.addMarkerFromJson();中的this this.addMarkerFromJson(); 实际引用的是function()定义,而不是我将其附加到的Map对象? 在这种情况下,我将如何调用另一个函数?

回答我自己的问题:

这是我的愚蠢! 我使用mapObject.getPictureDataFromJson()作为jquery.get()的成功回调,因此this指调用方(get函数)而不是map对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM