2013-03-07 43 views

Trả lời

9

Xem đối tượng sự kiện (http://leafletjs.com/reference.html#event-objects):

var map = L.map('map').setView([53.902257, 27.561640], 13); 

L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map); 

var bounds = [[53.912257, 27.581640], [53.902257, 27.561640]]; 

var rect = L.rectangle(bounds, {color: 'blue', weight: 1}).on('click', function (e) { 
    // There event is event object 
    // there e.type === 'click' 
    // there e.lanlng === L.LatLng on map 
    // there e.target.getLatLngs() - your rectangle coordinates 
    // but e.target !== rect 
    console.info(e); 
}).addTo(map); 

Sử dụng e.target.getLatLngs().

5

Leaflet.draw plugin sử dụng tiêu chuẩn Leaflet's L.Rectangle.

Hình chữ nhật của Leaflet mở rộng Polygon. Đa giác mở rộng Polyline.

Vì vậy, để có được tọa độ của hình chữ nhật của Leaflet.draw, bạn có thể sử dụng phương thức của Polyline getLatLngs() trả về một mảng các điểm trong đường dẫn.

Ví dụ:

var drawnItems = new L.FeatureGroup(); 
map.addLayer(drawnItems); 

map.on('draw:created', function (e) { 

    var type = e.layerType, 
     layer = e.layer; 

    if (type === 'rectangle') { 
     layer.on('mouseover', function() { 
      alert(layer.getLatLngs());  
     }); 
    } 

    drawnItems.addLayer(layer); 
}); 
+0

Bạn có biết tại sao layer.toGeoJSON() geometry.coordinates sẽ thêm một tọa độ.. – Spir

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