反正有没有要让传单显示小于一米的值?例如,刻度控件上的mm(毫米)还是um(微米)?
或者如果有插件可以做到这一点?
我有一个带有使用虚拟显微镜图像的自定义CRS的自定义地图。
我使用以下代码创建值小于米的地图,但是比例尺控件的确很宽,不会低于米:
for (int i=0; i<N-2; i++){
if (((10<=S[i]) && (S[i]<=100)) && ((10<=S[i+1]) && (S[i+1]<=100)) && ((10<=S[i+2]) && (S[i+2]<=100))){
canBeStarted = true;
whichDayItCanBeStarted = i;
}
}
cout << whichDayItCanBeStarted << endl;
答案 0 :(得分:1)
处理比例尺度量和(度量)单位四舍五入的特定代码是_updateMetric
method:
_updateMetric: function (maxMeters) {
var meters = this._getRoundNum(maxMeters),
label = meters < 1000 ? meters + ' m' : (meters / 1000) + ' km';
this._updateScale(this._mScale, label, meters / maxMeters);
},
请注意,implementation of this._getRoundNum()
将返回一个整数,即最小为1
。
您可能要替换_updateMetric()
的实现,以舍入该数字的 factor ,并相应地应用单位后缀,例如:
L.Control.Scale.include({
_updateMetric: function(maxMeters) {
var maxMilliMeters = maxMeters * 1000,
milliMeters = this._getRoundNum(maxMilliMeters),
label = milliMeters < 1000 ? milliMeters + " mm" : milliMeters / 1000 + " m";
console.log(this._mScale, label, milliMeters / maxMilliMeters);
this._updateScale(this._mScale, label, milliMeters / maxMilliMeters);
}
});