为什么我的功能在谷歌地图的点击事件中没有被调用?

时间:2013-03-15 01:42:09

标签: javascript jquery function google-maps google-api

我不确定这个问题背后的概念是什么,可能是一个闭包或其他东西。我不清楚为什么这个函数不能执行。看起来它执行但我的浏览器只是变成空白。不知道发生了什么。

google.maps.event.addListener(map,'click', function searchComplete() {  

    function outside() {

        google.load('search', '1');
        var newsSearch;   
        function onLoad() { 
            // Create a News Search instance.
            newsSearch = new google.search.NewsSearch();

            // Set searchComplete as the callback function when a search is 
            // complete.  The newsSearch object will have results in it.
            newsSearch.setSearchCompleteCallback(this, searchComplete, null);

            // Specify search quer(ies)
            newsSearch.execute('Obama');

            // Include the required Google branding
            google.search.Search.getBranding('branding');
        }

        // Set a callback to call your code when the page loads
        google.setOnLoadCallback(onLoad);
    }

    outside();
});

我还设置了一个JSFIDDLE:

http://jsfiddle.net/L9MDu/3/

1 个答案:

答案 0 :(得分:0)

假设没有调用onload()我是否正确?

根据我的收集,setOnLoadCallback功能类似于DOMReady就绪状态,而不是通过google.load()动态加载的库的回调。

我尝试了以下操作,这导致整个事情无限循环和警报。也许这是期望的?

google.load('search', '1', {
    callback: function() {
        onLoad();
    }
});