首页 / 浏览问题 / WebGIS / 问题详情
关于leafLet的L.supermap和L.titleLayer实现标绘的区别
10EXP 2022年07月13日

如图:我2个判断一个是在线地图,一个是离线地图,我想在离线地图的时候用到下面的标绘功能,定位发现是因为一个是用的L.supermap,一个是用的L.titleLayer实现,如果我想用L.titleLayer实现的话,怎样才能标绘,请大神们赐教谢谢ds

1个回答

您好,leaflet原生加载离线地图资源是可以使用坐标系、数据中心的。

参考:

https://blog.csdn.net/weixin_55532289/article/details/125534027

但是使用标绘功能是需要 L.superMap.tiledMapLayer 实例化有坐标系的地图才可以用的。plottingLayer.addTo(map)

希望可以帮助到您。

10,588EXP 2022年07月13日
您好,再次请教一下,如果我想用L.supermap.plotting超图的标绘面板,我是不是只能用L.superMap.tiledMapLayer的方式实例化地图?leafLet的标绘我看是通过L.featureGroup().addTo(map)创建一个图层然后通过addLayer的方式实现,比如我画一条线

var resultLayer = L.featureGroup().addTo(map);

var polyLine = L.polyline([[32.08664695,118.79688263], [31.96876518,118.79756927], [31.97371635,118.66573334], [32.09304606,118.61251831]], {color: "red"});

resultLayer.addLayer(polyLine);

这样我就可以实现根据经纬度画线。如果是用超图的标绘面板的话需要我需要怎么弄

超图的标绘一样可以通过图层来控制的   

var plottingLayer = L.supermap.plotting.plottingLayer("plot", serverUrl);
    plottingLayer.addTo(map);。

https://iclient.supermap.io/examples/leaflet/editor.html#plot_drawGeoGraphicObject

您好,我这边代码下面是有的用到你说的,我一开始也是这么用的,但是会提示报错,报错信息如图,但是我如果我用L.superMap.tiledMapLayer来实例化地图就不会报错,这报错是我在plottingLayer.addTo(map)的时候会出问题

你这边用的iclient版本是多少呢?11i当前只适配L.superMap.tiledMapLayer ,使用老版本iclient我测试是可以的。
您好,首先谢谢您的支持。我之前确实是11i的版本,我现在换成10.0的版本后就可以了,再次感谢~
...