Leaflet switch scale control is used to select and display map scale from dropdown list. Depends on:
map.addControl(new L.Control.SwitchScaleControl(options));
Specified below values are default
position: "bottomleft", // Leaflet control position.
dropdownDirection: "upward", // Specifies direction of dropdown's openning.
className: "map-control-scalebar", // Control's wrapper class.
updateWhenIdle: false, // Control's wrapper class.
ratio: true, // Flag: whether to display ratio prefix.
ratioPrefix: "1:", // Ratio prefix text.
ratioCustomItemText: "1: другой...", // Custom ratio text.
customScaleTitle: "Задайте свой масштаб и нажмите Enter", // Custom scale title text.
recalcOnPositionChange: false, // Flag: whether to recalc scale on map position change.
recalcOnZoomChange: false, // Flag: whether to recalc scale on map zoom change.
scales: [500, 1000, 2000, 5000, 10000, 25000, 50000, 100000, 200000, 500000, 1000000, 2500000, 5000000, 10000000], // Array of available to select scales
roundScales: undefined, // Array of available to display rounded scales
adjustScales: false, // Flag: whether to adjust custom scale to max of scales
pixelsInMeterWidth: function,
getMapWidthForLanInMeters: function
pixelsInMeterWidth: function () {
var div = document.createElement("div");
div.style.cssText = "position: absolute; left: -100%; top: -100%; width: 100cm;";
document.body.appendChild(div);
var px = div.offsetWidth;
document.body.removeChild(div);
return px;
}
getMapWidthForLanInMeters: function (currentLan) {
return 6378137 * 2 * Math.PI * Math.cos(currentLan * Math.PI / 180);
}