当回调是一个全局函数时,我只能下载 Google Maps v3 API:
function onMapLoad() {
alert('API is loaded');
}
var script = new Element(
'script', {
type: 'text/javascript',
src: 'http://maps.googleapis.com/maps/api/js?key='
+ Map.API_KEY
+ '&sensor=false&callback=onMapLoad'
}
);
document.body.appendChild(script);
我不想使用全局函数。相反,我想在单例上调用一个方法:Map.instance().onLoaded
。
// ...
+ '&sensor=false&callback=Map.instance().onLoaded'
// ...
当我尝试这样做时,出现 NetworkError: 403 Forbidden on loading Google's scripts。这似乎暗示谷歌的服务不喜欢我的回调函数字符串。回调函数本身没有问题。
最佳答案
尝试使用 google loader 调用
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
google.load("maps", "3", {"other_params": "sensor=false","callback" : Map.instance().onLoaded });
关于javascript - 如何在加载 Google Maps API 时提供非全局回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12716477/