如何在AnyLogic 8.7.0的GIS地图中添加比例尺?
解决AnyLogic 8.7.0 GIS地图动态比例尺标尺显示问题
方法1:启用内置比例尺控件
AnyLogic的GIS地图组件自带动态比例尺标尺,默认可能未开启,操作步骤如下:
- 选中GIS地图组件,在右侧属性面板打开**"Map"**标签页
- 向下滚动找到**"Scale bar"选项组,勾选"Show scale bar"**
- 可按需设置标尺的位置(左下角/右下角等)、单位(米/千米)和样式,设置后会自动适配地图缩放实现动态更新
方法2:自定义动态比例尺(内置控件不满足需求时)
如果内置标尺样式不符合要求,可基于getScale()函数实现灵活自定义:
- 用矩形+文本块组合模拟标尺:
- 矩形宽度用公式计算:
100 / getScale()(100代表实际距离100米,可按需调整) - 文本块内容设为动态公式:
String.valueOf((int)(rectangle.getWidth() * getScale())) + " m",自动匹配矩形对应的实际距离
- 矩形宽度用公式计算:
- 绑定地图缩放事件:在GIS地图的**"On zoom changed"**事件中添加代码,触发控件刷新尺寸和文本内容
注意事项
- 确保GIS地图已正确加载瓦片,
getScale()函数仅在地图初始化完成后返回有效数值 - AnyLogic 8.7.0版本原生支持内置比例尺控件,无需额外插件
内容的提问来源于stack exchange,提问作者Hongcheng Xie
相关产品推荐
相关产品推荐

