Pergunta

Eu estou usando google map API juntamente com a MarkerManager . Eu carregar os 2 bibliotecas javascript pelo JQuery.

Aqui está o meu 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();

    }
}

O erro que eu entrar em firebug javascript debugger é:

GBounds não está definida [Pausa sobre este erro] GBounds.prototype.containsPoint = function (ponto) {\ nmarkerma ... 109501758 (linha 377)

me.getMapGridBounds_ não é uma função [Ruptura sobre este erro] me.shownBounds_ = me.getMapGridBounds _ (); \ n markerma ... 109501758 (linha 106)

Este erro também ocorre se eu carregar a biblioteca javascript estaticamente.

Obrigado,

Foi útil?

Solução

Há dois problemas com seu código que eu vejo.

Em primeiro lugar, você não está usando o mais novo verson de MarkerManager. Use o novo aqui:

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

Em segundo lugar, a biblioteca MarkerManager requer a API GoogleMaps para ser carregado em primeiro lugar.

Comece por mudar a ordem (eu não acho que isso vai funcionar):

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

Mas o mais provável, você vai precisar de algo como isto:

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();
      }          
    });
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top