maptalks / issues

Repo of issues for webgl layers
3 stars 0 forks source link

Geo3DTilesLayer的数据源支持会持续完善吗 #306

Closed giserMao closed 1 year ago

giserMao commented 1 year ago

最近公司领导想用maptalks来为项目业务做支撑,在验证3dtiles加载的时候,测试了不同的数据源,和cesium.js相对比都有不同程度的问题。

加载代码如下:

    const map = new maptalks.Map("map", {
        center: [0, 0],
        zoom: 2,
    });
    const layer = new maptalks.Geo3DTilesLayer("3dtiles", {
        maxGPUMemory: 1024, //最大缓存数,单位 M bytes
        // loadingLimitOnInteracting : 1, //地图交互过程中瓦片请求最大数量
        // loadingLimit : 0, //瓦片请求最大数量
        services: [
            {
                url: "http://10.0.3.10/resourceCenter/sicengbim_3dtiles/tileset.json",
                // maximumScreenSpaceError值越小,加载的模型越清晰,但加载的数据量会变大
                // 清晰度可以接受的情况下,推荐把这个值设得越大越好,性能会越好
                maximumScreenSpaceError: 8.0,
                // 数据请求的额外参数
                // urlParams: 'v=0.0',
                // fetch请求的额外参数
                // fetchOptions : { credentials : 'include' },
                // 把模型降低指定高度,单位米
                heightOffset: 0,
                // 环境光照值,倾斜摄影可以设为[1.0, 1.0, 1.0]获得最清晰的效果,非倾斜摄影可以适当降低,例如设为 [0.2, 0.2, 0.2]
                // 如果不设置,则采用地图上的默认光照值
                ambientLight: [1.0, 1.0, 1.0],
                // maxExtent: maxExtent
            },
            // 其他的3dtiles数据源
        ],
    });

    const vtLayer = new maptalks.VectorTileLayer("vt", {
        urlTemplate:
            "http://tile.maptalks.com/test/planet-single/{z}/{x}/{y}.mvt",
        spatialReference: "preset-vt-3857",
    });

    // 添加到GroupGLLayer中
    // GroupGLLayer能实现抗锯齿等后处理,也能加入其他三维图层,让子图层都融合到同一个三维空间中
    const groupLayer = new maptalks.GroupGLLayer("group", [
        layer,
        vtLayer,
    ]);
    groupLayer.addTo(map);

    layer.once("loadtileset", (e) => {
        const extent = layer.getExtent(e.index);
        map.fitExtent(extent, 0, { animation: false });
    });

替换了不同数据格式的3dtiles服务: image maptalks (该数据源为osgb,重建了顶层,能正确读到tileset.json里面的范围并跳转,但是没有做任何渲染和请求) image cesiumlab加载正常 image

image maptalks (该数据源同样为osgb,重建了顶层,能正确读到tileset.json里面的范围并跳转,有请求但是没有做任何渲染) image cesiumlab加载正常 image

fuzhenn commented 1 year ago

方便的话可以把一部分数据发给我做一下兼容调试,可以加我的qq: 21732416

fuzhenn commented 1 year ago

上述问题已经全部解决,余留一个模型渲染问题在 #313