首页 / 浏览问题 / WebGIS / 问题详情
supermap leaflet叠加了两张最大层级不同的地图
23EXP 2024年03月19日

我叠加了两张不同最大层级的tileLayer,一个8级一个14级,为什么叠加之后地图只能放大到8级,不能放大到14级,坐标系是4548

window.L.supermap.SecurityManager.destroyToken(twoDUrlList[0].url);
  window.L.supermap.SecurityManager.registerToken(twoDUrlList[0].url, leafletOption.token);
  const srs: any = getAppConfig().srs;
  window.proj4.defs(srs[0][0], srs[0][1]);
  // 注册服务
  new window.L.supermap.MapService(twoDUrlList[0].url).getMapInfo(({ result }: any) => {
    leafletOption.crs = window.L.supermap.crsFromMapJSON(result);
    map = window.L.map(eel.value, leafletOption); // 创建地图
    // 初始化layerGroup
    LeafletHandler.initLayerGroup(map);
    window.LeafletHandler = LeafletHandler;
    // 获取layerGroup;
    const layerGroup = LeafletHandler.getLayerGroup();
    // 往地图上添加内容
    twoDUrlList.forEach(({ name, url, key }) => {
      const layer2D = new window.L.supermap.TiledMapLayer(url, { noWrap: true, name, key });
      LeafletHandler.setLayerList(layer2D);
    });

    const leaList = LeafletHandler.getLayerList();
    leaList.forEach(v => {
      console.log(v.options);
      if (v.options.key.includes('ewdz')) {
        v.addTo(layerGroup);
      }
    });

1个回答

您好,首先是地图缩放层级,建议您在地图上设置自己的zoom为您需要的最大的层级。

参考:https://iclient.supermap.io/examples/leaflet/editor.html#01_overlayTiledMapLayer

希望可以帮到您。

于丁
1
9,653EXP 2024年03月20日

你好,我在leafletOption里面已经设置了zoom,我的意思是这四张图有两张在发布的时候最大只能放大到8级,所以导致另外两张高清的图不能放大到8级以上,下面是我的地图配置

{
        attributionControl: false,
        zoomControl: false,
        center: [38.31432, 117.859588],
        maxZoom: 14,
        minZoom: 1,
        zoom: 4,
      },

您好,您问题中不是说两张最大不同层级的图吗,这里又说的四张图是什么意思呢。

您详细描述下您的数据情况呢,具体是几个地图服务,每个地图服务里有几张地图,Leaflet上怎么加载的。

因为单纯两个瓦片最大最小层级不一样的rest地图服务,叠加到一个Leaflet map中是不会被限制不能缩放的,就像我给您发的哪个示例,它就是一大一小两份图。

您可以仔细看下示例的数据和用示例方法叠加下您的地图。
...