javascript - 如何在加载 Google Maps API 时提供非全局回调?

标签 javascript google-maps prototypejs

当回调是一个全局函数时,我只能下载 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 });

https://developers.google.com/loader/

关于javascript - 如何在加载 Google Maps API 时提供非全局回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12716477/

相关文章:

javascript - 奇怪的错误: Cowardly refusing to pack object with circular reference

javascript - 使用 jquery 按样式选择元素

xml - 如何使用 perl 解析 KML 文件?

prototypejs - 在原型(prototype)存在的地方注入(inject) jQuery - noConflict()

javascript - 覆盖有参数的js函数

javascript - 如何使用 Service Worker 内部的 fetch 请求模拟真实的 "visit"

javascript - Bootstrap JavaScript 不工作

android - OnZoom 方法在 MapActivity 中不起作用

Python gmplot 'centerLat' 未定义

javascript - 在 Qualtrics 中使用 javascript 将可拖动条设置为自定义开始位置