如何从openlayer获取地图比例尺

时间:2018-07-11 22:09:03

标签: openlayers

我也尝试使用scaleLine的另一种方法我有一个地图对象:

_map=new Map(..)
_map.addControl(new Openlayers.Control.ScaleLine())

但是它显示了5000000km,这是一种在地图上像1:5M一样显示它的方法。 请任何帮助!

1 个答案:

答案 0 :(得分:0)

https://gis.stackexchange.com/questions/242424/how-to-get-map-units-to-find-current-scale-in-openlayers选中此项以获取地图的当前比例。然后,您可以将字符串创建为“ 1:5M”,然后使用javascript更新刻度线div的文本。在地图上注册zoomend和moveend事件,并在比例线div中更改div的内部文本。

map.events.register("zoomend", map, function(){ 
var scale= document.getElementsByClassName("olControlScaleLineTop") [0].innerHTML ;
if(!scale.includes(":"))
{
  scale = "1 : " + scale;
}
else 
{
     scale = scale.split(":")[1];
     scale = "1 : " + scale;
}
document.getElementsByClassName("olControlScaleLineTop")[0].innerHTML = scale;
});