var info = L.control();
info.onAdd = function (map) {
this._div = L.DomUtil.create('div', 'info');
this.update();
return this._div;
};
info.update = function (props) {
this._div.innerHTML = (e.latlng.toString());
};
info.addTo(map);
我希望我的HTML div框显示我的“e.latlng”。
this._div.innerHTML = (e.latlng.toString());
是我遇到问题的那条线。
我尝试了一些变化,但我不确定它为什么不起作用?
答案 0 :(得分:0)
第一个问题:你已经创建了一个函数,它接受一个参数“props”,你不在函数中使用它。而是使用未定义的变量“e”。假设“props”包含你的latlng对象,你需要使用props.latlng.toString()。第二个问题:
this._div.innerHTML = (e.latlng.toString());
您没有返回e.latlng.toString()的值。您正在评估e.latlng.toString()是否返回某些内容,如果是,则返回true,否则返回false。如果你遗漏括号,如下:
this._div.innerHTML = e.latlng.toString();
this._div.innerHTML将被赋值为e.latlng.toString()的返回值。但由于“e”未定义,它将始终返回false。