簡體   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