首页 / 浏览问题 / 组件GIS / 问题详情
布局地图中缩放地图获取当前比例尺
31EXP 2026年01月09日
布局地图中已添加比例尺,锁定地图进行缩放时在界面上也能看到当前的比例尺;需求是:当锁定地图进行缩放时,如何在代码中获取到当前地图的比例尺,用哪个事件或者方法,目前使用MapControl_MouseMove不起作用

3 个回答

您使用的是Java组件?具体是什么版本的?
1,496EXP 2026年01月09日
.net supermap-iobjectsdotnet-11.3.0-all版本的
您好,

        要获取当前地图的显示比例尺,可以监听Map对象的Drawn事件,在Drawn事件中获取 map 对象的 Scale 属性。

希望可以帮到您。
2,343EXP 2026年01月09日
private void Map_Drawn(object sender, MapDrawnEventArgs e)
{
    // 地图绘制完成后获取比例尺
    double currentScale = this.mapControl.Map.Scale;
    UpdateLayoutScale(currentScale);
}

使用这个方式能获取到当前比例尺,但布局中锁定地图进行缩放时,这个事件中获取到的比例尺没有变化,是否需要别的事件结合使用或者有没有什么案例可以查看

您好,目前 Map_Drawn 事件中能够监听到 Map 对象的 Scale 属性值随鼠标缩放而变化,但是没法在锁定地图过程中实时更新 GeoMapScale 的显示样式。iObjects .NET 组件内部设计了当取消锁定布局中的地图对象时,会自动更新布局的比例尺元素样式的。
获取比例尺可以使用Map.getScale方法;

另外,map中没有你说的方法,可以试试mapControl_MouseDown呢
1,555EXP 2026年01月09日
...