2013-02-04 24 views
6

Câu hỏi của tôi khá đơn giản.Kiểm tra xem yếu tố Canvas trên GoogleMap có bị nhàn rỗi không

google.maps.event.addListenerOnce(map, 'idle', function() { 
    // code 
}); 

Đoạn mã này sẽ kích hoạt sau khi bản đồ hiện đang bận rộn zoom hoặc di chuyển. Không phải khi nó đã nhàn rỗi.

Có cách nào để kiểm tra trạng thái của canvas trong câu lệnh if không? Vì vậy, khi nó đã nhàn rỗi bạn sẽ làm // code mà không cần thêm một người nghe?

Trả lời

4

Không có thuộc tính được ghi lại nào báo hiệu trạng thái không hoạt động của bản đồ, nhưng bạn có thể tự thực hiện nó.

Giả sử bạn gọi này ngay sau khi khởi tạo của bản đồ:

google.maps.event.addListener (map, 'idle', function(){ 
      this.lastBounds=this.getBounds(); 
}); 

Sau đó, bạn có thể kiểm tra xem lastBounds-tài sản tương đương với các giới hạn hiện tại của bản đồ:

if (map.lastBounds==map.getBounds()){ 
    //call function immediately 
}else{ 
    //add listener 
} 
+0

Đừng quên thêm một giá trị bắt đầu như 'this.lastBounds = 0;'. Khác nó sẽ nghĩ rằng nó nhàn rỗi trước khi tải vì cả hai 'this.lastBounds' và' this.getBounds() 'này sẽ không được xác định. – Sem

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