Tôi đang tạo một công cụ vẽ vùng cho một ứng dụng web và tôi đang sử dụng các điểm đánh dấu làm các neo mà người dùng có thể sử dụng để thay đổi hình dạng của đa giác.Có cách nào để thay đổi hình ảnh biểu tượng tùy thuộc vào mức thu phóng không? (leaflet.js)
Đây là những gì tôi có cho đến nay. http://demos.nodeline.com/leaflet_development/
repo là https://github.com/SpencerCooley/Leaflet_development
$(document).ready(function(){
var map, cloudmade, sanAntonio, polygonPoints
map = new L.Map('map');
cloudmade = new L.TileLayer('http://{s}.tile.cloudmade.com/d4334cd6077140e3b92ccfae2b363070/997/256/{z}/{x}/{y}.png', {
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>',
maxZoom: 18
});
sanAntonio = new L.LatLng(29.4238889, -98.4933333); // geographical point (longitude and latitude)
map.setView(sanAntonio, 13).addLayer(cloudmade);
polygonPoints = [];
var polygon = new L.Polygon(polygonPoints);
map.addLayer(polygon);
map.on('click', function(e) {
var marker = new L.Marker(e.latlng, {draggable:true});
polygonPoints.push(e.latlng);
var markerId = polygonPoints.length -1
map.addLayer(marker);
polygon.setLatLngs(polygonPoints);
marker.on('drag', function(){
var locationWhileDrag = marker.getLatLng();
$('#first_marker').val(locationWhileDrag);
polygonPoints.splice(markerId,1,locationWhileDrag);
polygon.setLatLngs(polygonPoints);
});
});
});
tôi chỉ muốn đánh dấu để có kích thước bình thường khi người dùng phóng to đến cấp phố. Khi bạn thu nhỏ các điểm đánh dấu có kích thước bình thường, hãy hoàn toàn làm mất đa giác. Tôi nhìn qua các tài liệu nhưng không thể tìm thấy bất cứ điều gì về điều này.
Tôi chủ yếu tìm kiếm đề xuất/động não. Tôi nghĩ có lẽ có một cách để phát hiện trạng thái zoom nào bạn hiện đang ở? Nếu vậy, tôi có thể sử dụng câu lệnh if để thay đổi biểu tượng.