【问题标题】:Why does my function not get Called inside click event of google maps?为什么我的函数没有在谷歌地图的点击事件中被调用?
【发布时间】:2013-03-15 01:42:09
【问题描述】:

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

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/

【问题讨论】:

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


    【解决方案1】:

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

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

    我尝试了以下方法,这导致整个事情无限期地循环和警报。也许这是需要的?

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

    【讨论】:

    • 谢谢,我按照你的建议做了。但我仍然无法访问 onLoad 功能。你能检查一下这个在标记拖动结束时,它会说 onLoad 没有定义。 jsfiddle.net/gWjmh/2请帮忙
    猜你喜欢
    • 2019-09-07
    • 2018-07-25
    • 2015-06-06
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多