Tôi đang thực hiện một dự án cho trường học và tôi cần phải thay đổi kích thước biểu tượng điểm đánh dấu tùy thuộc vào mức thu phóng trong bản đồ tờ rơi, Có cách nào dễ dàng để thực hiện việc này không? Bất kỳ hướng dẫn nào trên web? Xin được cảm ơn trước về sự giúp đỡ!!!có cách nào để thay đổi kích thước biểu tượng đánh dấu tùy thuộc vào mức thu phóng trong tờ rơi không?
Trả lời
Để thay đổi kích thước điểm đánh dấu khi bạn phóng to/thu nhỏ, bạn sẽ cần xử lý sự kiện.
map.on('zoomend', function() { });
Sự kiện zoomend
sẽ được gọi bất cứ khi nào bản đồ đã hoàn thành phóng to hoặc thu nhỏ. Xem API here.
Bây giờ, bên trong chức năng này, bạn có thể gọi mã tùy chỉnh của mình để thay đổi kích thước của điểm đánh dấu. Ví dụ: giả sử bạn muốn thực hiện một phương pháp đơn giản và đặt kích thước của điểm đánh dấu vòng tròn bằng với kích thước của mức thu phóng bản đồ. Xem API cho một CircleMarker here
// Create some marker that will be resized on the map zooming
var myMarker = new L.CircleMarker([10,10], { /* Options */ });
map.on('zoomend', function() {
var currentZoom = map.getZoom();
myMarker.setRadius(currentZoom);
});
Bây giờ bất cứ khi nào bản đồ phóng to hoặc thu nhỏ, kích thước của điểm đánh dấu sẽ thay đổi.
Tôi không chắc Stophace đang đề cập đến gì về vòng trònKhông thay đổi kích thước, nhưng thêm vào câu trả lời được phê duyệt ... nếu bạn muốn thay đổi kích thước circleMakers hoặc thay đổi bất kỳ tùy chọn tạo kiểu nào khác (tôi thấy hữu ích khi thay đổi trọng lượng cùng với bán kính), bạn có thể sử dụng phương pháp sau đây:
map.on('zoomend', function() {
var currentZoom = map.getZoom();
var myRadius = currentZoom*(1/2); //or whatever ratio you prefer
var myWeight = currentZoom*(1/5); //or whatever ratio you prefer
layername.setStyle({radius: myRadius, weight: setWeight});
});
layername sẽ được thay thế bằng tên của bất cứ lớp bạn có chứa circleMarkers ... và tất nhiên bạn có thể thay đổi các phân số để bạn thích hợp với nhu cầu của bạn.
Tôi đoán dự án trường học của OP đã hoàn tất, nhưng tôi hy vọng điều này sẽ giúp những người khác có cùng câu hỏi!
oops ... có nghĩa là đăng bài này làm bình luận cho câu trả lời gốc ... lần đầu tiên ở đây! – juliabulia245
- 1. Thay đổi kích thước điểm đánh dấu tùy thuộc vào thu phóng Google maps v3
- 2. 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)
- 3. Thay đổi biểu tượng dựa trên mức thu phóng
- 4. Thay đổi biểu tượng của markercluster tùy thuộc vào loại điểm đánh dấu bên trong cụm
- 5. Tờ rơi: Thêm liên kết vào các điểm đánh dấu
- 6. Làm cách nào để tải các lớp tùy thuộc vào mức thu phóng?
- 7. Làm cách nào để thay đổi con trỏ mặc định trong bản đồ tờ rơi?
- 8. Sử dụng ViewBox để thay đổi kích thước svg tùy thuộc vào kích thước cửa sổ
- 9. Thay đổi mức thu phóng của trình duyệt
- 10. Chọn nhiều điểm đánh dấu trong một ô trong tờ rơi
- 11. Tôi có thể ngừng thay đổi kích thước của các yếu tố trên thu phóng không?
- 12. Làm thế nào để thêm số lượng lớn đánh dấu trong tờ rơi?
- 13. Thay đổi kích thước khung UIWebView không thay đổi kích thước nội dung bên trong
- 14. Làm cách nào để thay đổi mức thu phóng của bản đồ Google theo lập trình?
- 15. Được nhóm/Ungroup MKAnnotation tùy thuộc vào mức thu phóng (Và giữ cho nó nhanh)
- 16. Google Maps v2 Đặt mức thu phóng
- 17. dấu Clustering trên mapbox/tờ rơi
- 18. Trang thay đổi kích thước trên iOS khi phóng to
- 19. Biểu tượng JButton tự động thay đổi kích thước
- 20. Làm cách nào để có được mức thu phóng hiện tại trong UIScrollView?
- 21. Cách thay đổi kích thước một nút tùy thuộc vào văn bản của nó
- 22. Làm cách nào để thay đổi màu đánh dấu của các biểu tượng tabbar? (iPhone/iPad)
- 23. Thay đổi kích thước điểm đánh dấu trong các bản đồ của Google V3
- 24. Làm cách nào để tùy chỉnh giao diện của cửa sổ bật lên tờ rơi?
- 25. Cách tự động cập nhật điểm đánh dấu trên bản đồ tờ rơi, với thiên thạch
- 26. Cách đặt mức thu phóng trong bản đồ google
- 27. Làm cách nào để điều chỉnh kích thước thu phóng cho một điểm trong D3?
- 28. Thay đổi kích thước MKAnnotationView Image Khi bản đồ phóng to và thu nhỏ?
- 29. Cách tự động thay đổi kích thước lưới khi biểu mẫu được thay đổi kích thước?
- 30. Tại sao kích thước phông chữ sẽ không thay đổi khi phóng to trình duyệt?
Bạn có thể muốn thay đổi 'L.CircleMarker' thành' L.circle'. Như tôi đã hiểu, 'L.CircleMarker' được sử dụng cho các vòng tròn không nên thay đổi kích thước mã hóa thành zoomlevel – Stophface