Vì vậy, tôi có một lớp geojson trong tờ rơi và tôi có thể thêm các đối tượng geojson vào lớp này để hiển thị trên bản đồ kết quả.cách thêm văn bản để hiển thị trên bản đồ vào đối tượng geojson trong tờ rơi
Bây giờ tôi muốn thêm nhãn văn bản để hiển thị gần đối tượng.
Ví dụ này cho thấy việc sử dụng đối tượng tùy chỉnh L.control()
để hiển thị thông tin bổ sung trên bản đồ. Mà dường như gần với những gì tôi muốn làm.
Với ví dụ này, tôi muốn thêm nhãn văn bản ban đầu của Nhà nước (tức là "TX", "FL") được định vị trên mỗi trạng thái. Có thể L.control()
được sử dụng để thực hiện việc này hay không hoặc có cách nào khác không?
http://leaflet.cloudmade.com/examples/choropleth.html
var info = L.control();
info.onAdd = function (map) {
this._div = L.DomUtil.create('div', 'info'); // create a div with a class "info"
this.update();
return this._div;
};
// method that we will use to update the control based on feature properties passed
info.update = function (props) {
this._div.innerHTML = '<h4>US Population Density</h4>' + (props ?
'<b>' + props.name + '</b><br />' + props.density + ' people/mi<sup>2</sup>'
: 'Hover over a state');
};
info.addTo(map);
Xin chào Mathias và Cảm ơn bạn đã viết mã tuyệt vời. Tôi không quen với javascript và HTML. Bạn có tệp html + javascript hoàn chỉnh mà tôi có thể sử dụng không? tnx. – Ash
Xin chào. Điều này thật tuyệt vời nhưng không tập trung vào nhãn. Tôi đã thực hiện câu đố này để chạy trên một sự kiện di chuyển. Bạn cũng có thể xem xét hiển thị chúng trên bản đồ sau khi ẩn chúng trên một bản nhạc để chúng không có vẻ lạ khi phần còn lại của bản đồ được chia tỷ lệ. $ (". Leaflet-label-overlay").mỗi (hàm (i) { $ (this) .css ("cỡ chữ", Math.pow (2, map.getZoom())/2000 + "%") .css ("margin-left" , - $ (this) .width()/2) .css ("margin-top", - $ (this) .height()/2); }); } –
(thay đổi hương vị năm 2000. Bạn cũng có thể sử dụng kỹ thuật nào đó để ẩn các nhãn ở mức thu phóng thấp hoặc cao, hoặc để sửa đổi độ đậm nét của chúng vv) –