首页 / 浏览问题 / WebGIS / 问题详情
如何实现 supermap online的 部分功能
20EXP 2025年05月08日

1、选择模版改变样式,(我们项目中是先发布图层,然后再在前端修改样式,比如点数据在发布rest的图层的时候没有样式,想在前端选择模版比方热力图模版,修改样式后,保存到rest服务中)

2、修改比例尺,以控制图层在某比例尺范围内的显示。openlayer或leaflet前端如何显示获取比例尺,当前获取的比例吃又如何与全球比例尺对应?如何实现类似supermap online的可见比例尺范围的控制?

1个回答

1、这个需要前端自己写代码实现,前端动态配置好样式以后,保存到后端,后续需要时再取出来。样式文件格式可以用iDesktopX导出图层风格模版做参考

2、如果图层自定义了坐标系,可以从map.options中获取到scale,如果没有自定义,可以从iServer服务本身的xml中获取不同层级对应的比例尺https://iserver.supermap.io/iserver/services/map-world/rest/maps/World.xml

1,191EXP 2025年05月08日
“修改比例尺,以控制图层在某比例尺范围内的显示。openlayer或leaflet前端如何显示获取比例尺,当前获取的比例吃又如何与全球比例尺对应?如何实现类似supermap online的可见比例尺范围的控制?”这个实现思路是怎样的呢?获取比例尺,现在前端通过监听mapzoom控制在比例尺范围的显示隐藏呢?还是直接在后端修改对应layer的     layer.setMaxVisibleScale(double value),       layer.setMinVisibleScale(double value)呢?

控制显示范围,像Leaflet,可以在添加地图时就设置resolutions(https://iclient.supermap.io/examples/leaflet/editor.html#WMTSLayer),这样zoom和scale就是一一对应的,设置图层的minZoom和maxZoom就可以设置map可见范围

如果要控制图层的可见范围也是同样的,layer可以设置minZoom和maxZoom,https://leafletjs.com/reference.html#tilelayer

...