Javascript 在本手册示例代码中.addOn是如何工作/执行的?
我仍然没有javascript方面的经验,并试图理解以下代码- 当info.onAdd不是唯一被称为w/o参数时,它何时/如何执行 根据传单文档,这是一种本机方法,但为名称指定了一个函数Javascript 在本手册示例代码中.addOn是如何工作/执行的?,javascript,leaflet,Javascript,Leaflet,我仍然没有javascript方面的经验,并试图理解以下代码- 当info.onAdd不是唯一被称为w/o参数时,它何时/如何执行 根据传单文档,这是一种本机方法,但为名称指定了一个函数 var info = L.control(); info.onAdd = function (map) { this._div = L.DomUtil.create('div', 'info'); // create a div with a class "info" this.update(
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);
var info=L.control();
info.onAdd=函数(映射){
this._div=L.DomUtil.create('div','info');//使用类“info”创建一个div
这个.update();
把这个还给我;
};
//方法,我们将使用该方法根据传递的功能属性更新控件
info.update=功能(道具){
这个._div.innerHTML=‘美国人口密度’+(道具?
''+props.name+'
'+props.density+'people/mi2'
:“悬停在状态上”);
};
信息地址(地图);
在编程中,“”实际上是一个函数,但附加到对象(或类实例)上
在您提供的代码示例中,此方法由另一个函数重写。这也是自定义对象行为的标准做法
您的代码不希望调用onAdd
方法,因为它是由传单调用的:
addTo
执行一些操作,主要调用map
的addControl
方法addControl
注册info
控件,并调用infos
的onAdd
方法onAdd
执行并返回一个HTMLElement,map
可以使用该HTMLElement在视口上显示info