سؤال

أنا أستخدم جوجل خريطة API جنبا إلى جنب مع markermanager.. وبعد قمت بتحميل مكتبات JavaScript 2 بواسطة jQuery.

هنا هو بلدي جافا سكريبت:

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();

    }
}

الخطأ الذي أحصل عليه في Debugger Firebug JavaScript هو:

Gbounds غير محدد [كسر على هذا الخطأ] gbounds.protototype.containspoint = وظيفة (نقطة) { Nmarkerma ... 109501758 (السطر 377)

me.getmapgridbounds_ ليس وظيفة [كسر على هذا الخطأ] me.shownbounds_ = me.getmapgridbounds _ ()؛ n markerma ... 109501758 (خط 106)

يحدث هذا الخطأ أيضا إذا قمت بتحميل مكتبة JavaScript بشكل ثابت.

شكرا،

هل كانت مفيدة؟

المحلول

هناك مشكلتان مع التعليمات البرمجية التي أراها.

أولا، أنت لا تستخدم أحدث Verson من Markermanager. استخدم الجديد هنا:

http://gmaps-utility-library-dev.googlecode.com/svn/tags/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();
      }          
    });
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top