Google Maps и Markermanager выдает ошибку - PullRequest
1 голос
/ 10 января 2010

Я использую API Google Map вместе с MarkerManager . Я загружаю 2 библиотеки javascript от JQuery.

Вот мой 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();

    }
}

Ошибка, которую я получаю в отладчике javascript для firebug:

ГБунды не определены [Прервать эту ошибку] ​​GBounds.prototype.containsPoint = function (point) {\ nmarkerma ... 109501758 (строка 377)

me.getMapGridBounds_ не является функцией [Перерыв на этой ошибке] me.shownBounds_ = me.getMapGridBounds _ (); \ n маркерма ... 109501758 (строка 106)

Эта ошибка также возникает, если я статически загружаю библиотеку javascript.

Спасибо

1 Ответ

3 голосов
/ 10 января 2010

Есть две проблемы с вашим кодом, которые я вижу.

Во-первых, вы не используете новейшую версию MarkerManager. Используйте новый здесь:

http://gmaps -utility-library-dev.googlecode.com / SVN / теги / markermanager / 1,1 / SRC / markermanager.js

Во-вторых, библиотека MarkerManager требует первой загрузки API GoogleMaps.

Начните с переключения порядка (я не думаю, что это сработает):

$.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();
      }          
    });
}
...