首页 / 浏览问题 / 三维GIS / 问题详情
数据源图层会覆盖天地图的中文标注
1EXP 2018年07月25日
我通过GeoJsonDataSource加载json文件到地图上面  然后又通过WebMapTileServiceImageryProvider加载了天地图的中文标注 现在的问题就是 json数据的图层永远都在中文标注上面 看不到标注

下面是完整代码

     viewer.dataSources.add(Cesium.GeoJsonDataSource.load(jsonpath + item, {
                camera: viewer.scene.camera,
                canvas: viewer.scene.canvas,
                stroke: Cesium.Color.BLACK,
                fill: Cesium.Color.fromRandom({
                    alpha: 0.5
                }),
                strokeWidth: 3,
                markerSymbol: '?',
                maximumLevel: 1
            }))

    viewer.imageryLayers.addImageryProvider(new Cesium.WebMapTileServiceImageryProvider({
                    url: "http://t0.tianditu.com/cia_w/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=cia&tileMatrixSet=w&TileMatrix={TileMatrix}&TileRow={TileRow}&TileCol={TileCol}&style=default.jpg",
                    layer: "tdtAnnoLayer",
                    style: "default",
                    format: "image/jpeg",
                    tileMatrixSetID: "w",
                    show: false,
                }));

1个回答

因为影像图层只能依附于地形,没有地形则会依附于地表。如果地形低于添加的json,那么就会出现这个情况。
5,560EXP 2018年07月25日
那请问这个和添加顺序有关系吗 没有关系的话什么参数是用来设置地形的层级和添加的json的层级

我现在只是用了默认的

    imageryProvider: new Cesium.BingMapsImageryProvider({
                url: URL_CONFIG.BINGMAP,
                mapStyle: Cesium.BingMapsStyle.AERIAL
            })

应该是没有添加地形
这个是三维场景,三维场景的渲染是按照高度进行的。你添加的json模型高于地形,那就显示模型;低于地形就显示地形影像(同时模型会被地形遮挡导致看不到)。

顺序影响的只有影像。后加载的影像会覆盖之前的影像。
那就是这些json模型的高度 还有地形的高度是在代码设置的还是数据中设置的
地形需要添加相应的tin地形缓存三维服务。

模型可以通过代码控制
可以告诉我哪个api是用来控制模型的层高吗!!!!!!!!!
抱歉我说的不太准确,应该说你可以通过修改json明码数据来调整json模型的高度。

如果一定要通过代码去修改json高度,那就只能通过GeoJsonDataSource.entities获取或有实体,然后调整每个实体的高度。
嗯 好的 了解了 谢谢
不好意思兄弟 还有点问题 就是我的json只是一个省的边界线圈起来的一个图形 也不是什么三维模型 默认应该是没有高度的啊

这个是我的见面效果和json数据你看一下

链接:https://pan.baidu.com/s/1Xyq5Id64B1Ngjq2w87__Jw 密码:0v1y
...