gpt4 book ai didi

javascript - 获取绘制点的半径大小(以米为单位)

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:27:54 25 4
gpt4 key购买 nike

我正在使用 OpenLayers 在 map 上绘制点,如下例所示:http://dev.openlayers.org/examples/draw-feature.html

现在我想知道,这样一个绘制点覆盖了哪个区域(以米为单位)。我知道,这取决于缩放级别。这也是我的计划:我想根据缩放级别绘制不同大小的点。如果缩放级别最大,则该点应该很大。如果缩放级别较低,则该点应绘制得非常小。

有谁知道如何计算从像素到米的点大小?

最佳答案

您可以使用 map 的分辨率,它定义为每像素的 map 单位。因此,假设您的 map 单位是米,则所需的像素大小为:
size_in_meters/map_resolution

您可以在样式 map 中使用上述计算,使点的大小随着 map 分辨率的变化而动态变化:

styleMap = new OpenLayers.StyleMap({
'default': new OpenLayers.Style({
pointRadius: "${getSize}"
},
{ context: {
getSize: function(feature) {
return size_in_meters / feature.layer.map.getResolution();
}}
})
});

关于javascript - 获取绘制点的半径大小(以米为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6037969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com