SuperMap GIS基础产品WebGIS FAQ集锦(3)
【iClient】iClient for Leaflet,如何修改map的默认渲染方式?
 【解决办法】map的默认渲染方式取决于浏览器支持,可通过renderer属性设置,设置为L.SVG或L.Canvas
 【iClient】leaflet在4326坐标系下为什么绘制圆后展示在地图中为椭圆?
 【问题原因】因为4326为84地理坐标系.纬度离赤道越远圆变形越大,离赤道越近变形越小。绘制出来的圆有变形是正确的结果
 【解决方法】可以考虑根据半径和中心点去构造polygon类型的圆。贴图
 
代码参考如下:
 var radius = 2;
 //点集
 var parts = [];
 //计算圆的边缘所有点
 for (var i = 0; i < 360; i++) {
 var radians = (i + 1) * Math.PI / 180;
 var circlePoint = [Math.cos(radians) * radius + 34, Math.sin(radians) * radius + 108];
 parts[i] = circlePoint;
 }
 var polygon1 = L.polygon(parts, {
 color: ‘green’
 }).addTo(map);
 【iClient】在Leaflet中,如果想做出河流流动的形态,有什么方法?
 【解决方案】可以参考这篇博客提供的Leaflet插件:https://www.cnblogs.com/tiandi/p/16948210.html,https://blog.csdn.net/gisarmory/article/details/109603123这篇详细讲解了Leaflet.Path.DashFlow的使用
 【iClient】前端开发过程中,zoom的等级都正好不能满足要求,请问有什么更好的方法吗
 【解决方案】可以不按照zoom层级缩放,可以传入resolutions数组,然后按照resolution进行缩放显示;也可以通过设置zoomSnap: 0,5,让地图成功可以设置为zoom: 13.5
 【iClient】请问下图标或者风格可以设置成gif吗
 【解决方案】Leaflet也可以使用gif作为点的自定义图标,或者设置为lmageOverlay图层,然后添加到map中
 【iClient】iclient leaflet 如何在编辑地图以后刷新地图
 【解决方案】可以通过通过重新设置图层的url地址进行刷新。
 参考https://leafletjs.com/reference-1.7.1.html#tilelayer-seturl
 【iClient】openlayers如何在一个地图中加载多个WMTS服务呢
 【解决办法】在layers中使用ol.layer.Tile方式加载多个WMTS图层即可。注意需要根据WMTS能力文档分别设置resolutions、extent、origin
 【iClient】在vue中使用mapboxgl+echarts ,无法获取到EchartsLayer怎么办?
 【问题原因】vue不支持下面这种include-mapboxgl.js集合快捷引用的方式:
 import mapboxgl from ‘mapbox-gl’;
 import * as a from ‘@supermap/iclient-mapboxgl’;
 console.log(a); // 没有EchartsLayer
【解决办法】使用vue的话你需要每个包手动去引,
 比如打开include-mapboxgl.js中,可以看到“echarts”模块下,有
 ‘https://iclient.supermap.io/web/libs/echarts/4.9.0/echarts.min.js’
 ‘https://iclient.supermap.io/web/libs/echarts-liquidfill/2.0.6/echarts-liquidfill.min.js’
 ‘https://iclient.supermap.io/web/libs/echartsLayer/EchartsLayer.min.js’
 这些文件就需要手动引入vue。



















