Leaflet customcontrol - Angular 2+
Leaflet customcontrol - Angular 2+
我需要在我的 Angular2+ 组件中集成自定义表单控件:
export class HeatMapComponent {
...
onMapReady(map: L.Map) {
let div = L.DomUtil.create('div', 'info');
let info = new L.Control();
info.onAdd = () => {
return div;
};
info.addTo(map);
}
}
.hmtl 文件如下:
<div class="map container-fluid"
leaflet [leafletOptions]="options"
[leafletLayersControl]="layersControl"
(leafletMapReady)="onMapReady($event)">
</div>
.css:
...
.info {
padding: 2rem 1rem;
margin-left: 70rem;
margin-right: 15rem;
font: 1rem/1.5rem Arial, Helvetica, sans-serif;
background: white;
background: rgba(255,255,255,0.8);
box-shadow: 0 0 15px rgba(0,0,0,0.2);
border-radius: 5px;
}
在传单文档中,它是用 JS 编写的,如下所示:
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);
为什么我不能在我的onMapReady中集成addTo方法?我没有收到任何错误,但我的地图上没有显示任何内容。
我解决了这个问题解决方案是:
onMapReady(map: leaflet.Map) {
let div = leaflet.DomUtil.create('div', 'infoControl');
let info = new leaflet.Control(); info.onAdd = () => {
return div;
};
console.log(div);
info.addTo(map);
}
我需要在我的 Angular2+ 组件中集成自定义表单控件:
export class HeatMapComponent {
...
onMapReady(map: L.Map) {
let div = L.DomUtil.create('div', 'info');
let info = new L.Control();
info.onAdd = () => {
return div;
};
info.addTo(map);
}
}
.hmtl 文件如下:
<div class="map container-fluid"
leaflet [leafletOptions]="options"
[leafletLayersControl]="layersControl"
(leafletMapReady)="onMapReady($event)">
</div>
.css:
...
.info {
padding: 2rem 1rem;
margin-left: 70rem;
margin-right: 15rem;
font: 1rem/1.5rem Arial, Helvetica, sans-serif;
background: white;
background: rgba(255,255,255,0.8);
box-shadow: 0 0 15px rgba(0,0,0,0.2);
border-radius: 5px;
}
在传单文档中,它是用 JS 编写的,如下所示:
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);
为什么我不能在我的onMapReady中集成addTo方法?我没有收到任何错误,但我的地图上没有显示任何内容。
我解决了这个问题解决方案是:
onMapReady(map: leaflet.Map) {
let div = leaflet.DomUtil.create('div', 'infoControl');
let info = new leaflet.Control(); info.onAdd = () => {
return div;
};
console.log(div);
info.addTo(map);
}