【问题标题】:How to display the scale of the vector layers (e.g. polylines) in leaflet.js如何在 Leaflet.js 中显示矢量图层(例如折线)的比例
【发布时间】:2021-05-04 06:47:17
【问题描述】:

我想在传单的地图上添加我在一定长度上绘制的线/折线的比例。我该怎么做?

【问题讨论】:

  • 你是指距离吗?您可以遍历折线的每个latlng 并调用distanceTo
  • 例如,在地图上使用“L.polyline”命令绘制了一条100米长的线。实际上这条线有1米长。如何通过在地图上添加特定比例尺来表达这一点?
  • 比例尺中100m转换成1m有什么办法吗?
  • 我不明白你想要什么......你想显示地图的当前比例还是你想让折线有其他尺寸?也许您正在寻找:Scale Control
  • 我在地图上有一条 1 米长的折线。由于我在小比例尺上看不到这条折线,所以我将它放大了 1000 米。但是,我使用 Scale.Control 添加到地图的比例并不代表这条折线的实际长度。如何调整比例才能知道这条折线的实际长度?

标签: javascript leaflet scale polyline


【解决方案1】:

您可以在更新函数_updateMetric_updateImperial 函数时更改控件的值。

您的代码可能如下所示:

scale = L.control.scale().addTo(map);
scale._updateMetric = function (maxMeters) {
        var meters = this._getRoundNum(maxMeters),
            label = meters < 1000 ? meters + ' m CUSTOM' : (meters / 1000) + ' km CUSTOM';

        scale._updateScale(this._mScale, label, meters / maxMeters);
    };
scale._update()

https://jsfiddle.net/falkedesign/v5trLy4a/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多