2012-06-30 4 views
8

Yêu cầu: Sử dụng Leaflet js ánh xạ api, khi khách hàng nhấp vào điểm đánh dấu, Hình chữ nhật sẽ được vẽ ngay bên dưới Marker, căn giữa theo điểm đánh dấu. Sau đó, nhấp vào một điểm đánh dấu khác sẽ xóa hình chữ nhật trước đó và vẽ một hình chữ nhật khác bên dưới điểm đánh dấu mới được nhấp.Xóa Đa giác khỏi bản đồ

Sự cố: Tôi đang sử dụng mã bên dưới để vẽ đa giác và tôi có thể thấy hình chữ nhật. Và nó vẽ hình chữ nhật trên một điểm đánh dấu. Sau đó, bằng cách nhấp vào một điểm đánh dấu khác, hình chữ nhật mới sẽ được vẽ. Nhưng hình chữ nhật cũ vẫn còn tồn tại.

Câu hỏi: Tôi nên triển khai hành vi như thế nào, để khi nhấp vào điểm đánh dấu mới, hình chữ nhật cũ sẽ bị xóa khỏi bản đồ?

//polygon 

var latBlockSize = 0.002; 
var lngBlockSize = 0.002; 
var route = [ 
     new L.LatLng(parseFloat(customer.MailingAddress.Lat) + latBlockSize, parseFloat(customer.MailingAddress.Lng) - lngBlockSize), 
     new L.LatLng(parseFloat(customer.MailingAddress.Lat) + latBlockSize, parseFloat(customer.MailingAddress.Lng) + lngBlockSize), 
     new L.LatLng(parseFloat(customer.MailingAddress.Lat) - latBlockSize, parseFloat(customer.MailingAddress.Lng) + lngBlockSize), 
     new L.LatLng(parseFloat(customer.MailingAddress.Lat) - latBlockSize, parseFloat(customer.MailingAddress.Lng) - lngBlockSize) 
    ]; 

window.polygon = new L.Polygon(route); 

window.map.addLayer(window.polygon); 

Trả lời

15

Tôi đã tự mình tìm ra.

Đây là giải pháp:

window.map.removeLayer(window.polygon); 
+0

Làm việc với L.hình chữ nhật quá. –

1

Đó là làm việc là tốt, thử nghiệm với Tờ rơi 1.2.0.

window.polygon.remove()

+0

Chỉ cần những gì tôi cần, bên trong vòng lặp cập nhật của tôi. Tôi đã thêm một cái khác trong mỗi vòng lặp. Bây giờ tôi loại bỏ trước đó trước khi thực hiện một cái mới. – radbyx