【问题标题】:Google Maps and Markermanager throws error谷歌地图和 Markermanager 抛出错误
【发布时间】:2010-01-10 04:54:38
【问题描述】:

我正在使用谷歌地图 API 和 MarkerManager。我通过 JQuery 加载了 2 个 javascript 库。

这是我的 Javascript:

function initialize() {
    $.getScript('http://gmaps-utility-library.googlecode.com/svn/trunk/markermanager/release/src/markermanager.js');
    $.getScript('http://maps.google.com/maps?file=api&v=2&async=2&callback=mapLoaded&sensor=true_or_false&key=ABC');
    
}
function mapLoaded() {
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_canvas"));
        map.setCenter(new GLatLng(18, -77.4), 13);
        map.setUIToDefault();

        var mgr = new MarkerManager(map);
        mgr.addMarkers(getWeatherMarkers(), 5); //gets some marker from another function
        mgr.refresh();

    }
}

我在 firebug javascript 调试器中遇到的错误是:

GBounds 未定义 [打破这个错误] GBounds.prototype.containsPoint = function(point) {\nmarkerma...109501758 (line 377)

me.getMapGridBounds_ 不是函数 [打破这个错误] me.shownBounds_ = me.getMapGridBounds_();\n 标记...109501758(第 106 行)

如果我静态加载 javascript 库,也会出现此错误。

谢谢,

【问题讨论】:

    标签: javascript jquery google-maps markermanager


    【解决方案1】:

    我看到您的代码存在两个问题。

    首先,您使用的不是最新版本的 MarkerManager。在这里使用新的:

    http://gmaps-utility-library-dev.googlecode.com/svn/tags/markermanager/1.1/src/markermanager.js

    其次,MarkerManager 库需要首先加载 GoogleMaps API。

    从切换顺序开始(我认为这行不通):

    $.getScript('http://maps.google.com/maps?file=api&v=2&async=2&callback=mapLoaded&sensor=true_or_false&key=ABC');
    $.getScript('http://gmaps-utility-library-dev.googlecode.com/svn/tags/markermanager/1.1/src/markermanager.js');
    

    但更有可能的是,您需要这样的东西:

    function initialize() {
        $.getScript('http://maps.google.com/maps?file=api&v=2&async=2&callback=mapLoaded&sensor=true_or_false&key=ABC');
    }
    function mapLoaded() {
        $.getScript('http://gmaps-utility-library-dev.googlecode.com/svn/tags/markermanager/1.1/src/markermanager.js', function(){
          if (GBrowserIsCompatible()) {
              map = new GMap2(document.getElementById("map_canvas"));
              map.setCenter(new GLatLng(18, -77.4), 13);
              map.setUIToDefault();
    
              var mgr = new MarkerManager(map);
              mgr.addMarkers(getWeatherMarkers(), 5); //gets some marker from another function
              mgr.refresh();
          }          
        });
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-25
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    相关资源
    最近更新 更多