Pregunta

Estoy usando Google Map API junto con el MarkerManager . Me carga las bibliotecas de javascript 2 por jQuery.

Aquí está mi 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();

    }
}

El error que consigo en Firebug JavaScript depurador es:

GBounds no está definido [Interrumpir en este error] GBounds.prototype.containsPoint = function (punto) {\ nmarkerma ... 109 501 758 (línea 377)

me.getMapGridBounds_ no es una función [Pausa en este error] me.shownBounds_ = me.getMapGridBounds _ (); \ n markerma ... 109501758 (línea 106)

Este error se produce también si me carga la biblioteca javascript estáticamente.

Gracias,

¿Fue útil?

Solución

Hay dos problemas con su código que veo.

En primer lugar, no está utilizando la más reciente de Verson MarkerManager. Utilice la nueva aquí:

  

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

En segundo lugar, la biblioteca MarkerManager requiere la API de GoogleMaps para ser cargado primero.

Para empezar, cambiar el orden (no creo que esto va a 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');

Pero lo más probable, se necesita algo como esto:

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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top