문제

Google Map 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 (줄 377)

me.getMapGridBounds_는 함수가 아닙니다 [이 오류에서 break] me.hownbounds_ = me.getMapGridBounds _ (); n Markerma ... 109501758 (106 행)

JavaScript 라이브러리를 정적으로로드하면이 오류가 발생합니다.

감사,

도움이 되었습니까?

해결책

코드에는 두 가지 문제가 있습니다.

먼저, 당신은 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();
      }          
    });
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top