2013-05-19 21 views
5

Google maps v3 api suggest tải hàm khởi tạo bằng phương thức addDomListener() thay vì gắn nó vào thẻ body.biến vượt qua hàm khởi tạo bên trong phương thức addDomListener

<script> 
    function initialize() { 
    // Map initialization 
    } 
    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 
not: 
<body onload="initialize()"> 

Nhưng, tôi muốn chuyển một biến thông qua hàm khởi tạo: f.e. khởi tạo (37). Điều này chỉ hoạt động bằng cách sử dụng phương thức tải trọng cơ thể, không phải thông qua phương thức addDomListener.

Đây là câu hỏi của tôi: tôi có thể làm điều này bằng phương pháp addDomListener không. Để đơn giản hơn, sau đây không hoạt động, làm thế nào tôi có thể làm cho nó hoạt động?

<script> 
    function initialize(countryID) { 
     // Map initialization 
     // Do stuff with countryID 
    } 
    google.maps.event.addDomListener(window, 'load', initialize(37)); 
</script> 

Trả lời

10

sử dụng một chức năng ẩn danh:

google.maps.event.addDomListener(window, 'load', function(){initialize(37);}); 
+0

trình, cảm ơn bạn. –

+0

Bạn cũng có thể chuyển các biến như thế này 'google.maps.event.addDomListener (cửa sổ, 'tải', hàm() {initialize (marker)});' do đó hàm của bạn sẽ trông giống như hàm này 'khởi tạo (điểm đánh dấu) { ' –

Các vấn đề liên quan