2014-10-16 1 views
0

Google지도 만로드합니다. 내 코드를 리팩토링하기 전에이 일이처럼 보였다 :(게으른) 리팩토링 후 Google지도로드 중

lib = { 
    loadGoogleMapScript: function(_callback) { 
     (...) 
     script.src = 'http://maps.google.com/maps/api/js?sensor=false&callback=' +_callback; 
    } 
} 


Page = { 
    viewPage: { 
     init: function() { 
      lib.loadGoogleMapScript(self.initialize_map); 
     }, 
     initialize_map: function() { 
      var locations = [ (...) 
     } 
    } 
} 

jQuery(document).ready(function ($) { 
    Page.viewBPage.init(); 
}); 

을 그리고 지금은이 오류 받고 있어요 : 리팩토링 후

function initialize_map_brand() { 
    (...) 
} 

jQuery(document).ready(function ($) { 
    load_google_map('initialize_map_brand'); 
}); 

, 내 코드는 다음과 같습니다

"NetworkError: 400 Bad Request - http://maps.google.com/maps/api/js?sensor=false&callback=function%20()%20 {var%20locations%20=%20[[%....

전체 기능 코드가 URL에 전달됩니다. 그렇다면 새 코드로 Google Maps 스크립트를 올바르게로드하려면 어떻게해야합니까?

Se my fiddle here.

답변

2

당신은 전역 범위에서 함수의 이름과 URL을 callback 매개 변수의 문자열을 제공하는 데 필요한 documentation에 따르면.

대신 매개 변수로 함수를 전달 했으므로 함수 본문이 url에 추가됩니다.

var Page = { 
    viewPage: { 
     init: function() { 
      lib.loadGoogleMapScript('Page.viewPage.initialize_map'); 
     }, 
     initialize_map: function() { 
     } 
    } 
}; 

window.Page = Page; 
+0

물론. 감사 :) – Steven