2010-09-19 39 views

Trả lời

14

Thu phóng trên nhấp đúp tính năng dường như là một chức năng trong điều khiển OpenLayers.Control.Navigation. Xem OpenLayers Reference để biết thêm thông tin.

Một nhỏ và rất mệt mỏi dụ:

var Navigation = new OpenLayers.Control.Navigation({ 
    defaultDblClick: function(event) { return; } 
}); 

Tôi nhớ rằng Navigation kiểm soát được tự động thêm vào bản đồ nếu không có điều khiển được thiết lập trong thời gian khởi tạo của bản đồ. Vì vậy, bạn có thể phải thêm Điều hướng điều khiển bản thân của bạn.

Hy vọng nó giúp =)

+1

Làm thế nào điều này có thể được thực hiện trong OpenLayers 3? – Brain

6

Câu trả lời trên là chính xác, nhưng bạn sẽ phải thêm một cách rõ ràng điều khiển này để bản đồ để ghi đè mặc định kiểm soát Navigation, tức là,

var Navigation = new OpenLayers.Control.Navigation({ 
    defaultDblClick: function(event) { return; } 
}); 

map.addControl(Navigation); 

Các điều khiển sau được thêm vào theo mặc định đến một OpenLayers.Map: OpenLayers.Control.Navigation, OpenLayers.Control.PanZoom, OpenLayers.Control.ArgParser, OpenLayers.Control.Attribution

Vì vậy, một tùy chọn khác nếu bạn muốn tắt tất cả các hành vi mặc định này, là gửi một mảng trống trong tham số tùy chọn của hàm tạo bản đồ lớp mở, hãy xem link text để biết thêm chi tiết.

5

OpenLayers 3 Tài liệu Link.

cách tĩnh:

var map = new ol.Map({ 
    interactions: ol.interaction.defaults({ doubleClickZoom: false }), 
    ... 
}); 

động cách:

var interactions = map.getInteractions(); 
for (var i = 0; i < interactions.getLength(); i++) { 
    var interaction = interactions.item(i);       
    if (interaction instanceof ol.interaction.DoubleClickZoom) { 
     map.removeInteraction(interaction); 
     break; 
    } 
} 
Các vấn đề liên quan