首页 / 浏览问题 / 三维GIS / 问题详情
cesium 动态绘制多边形
6EXP 2023年05月08日
let syncViewer = function() {

                return extent;

            };

 polygon: {

hierarchy: new Cesium.CallbackProperty(function() {

                        return new Cesium.PolygonHierarchy(syncViewer());

                    }, false),

                    material: new Cesium.ColorMaterialProperty(new Cesium.Color.RED.withAlpha(0)),

                    // height: 10000,

                    outline: true,

                    outlineColor: Cesium.Color.RED,

                    outlineWidth: 2,

                    HeightReference: Cesium.HeightReference.NONE

                }

动态绘制多边形,报错, Cannot read properties of undefined(reading "_positions")

2 个回答

您好,

这类报错的话通常有多种情况。

可以看一下这个博客:https://blog.csdn.net/nbsl_/article/details/127438683

有相关的报错描述和几种解决方法

4,151EXP 2023年05月08日
如果不用new Cesium.CallbackProperty进行动态绘制,直接hierarchy:new Cesium.PolygonHierarchy(syncViewer()),就可以绘制,new Cesium.CallbackProperty是不能用于动态创建polygon吗?

CallbackProperty的用法可以查看博客https://blog.csdn.net/liuffning/article/details/118153699以及https://blog.csdn.net/u014523388/article/details/127114331

不是简单的随意进行动态绘制的。

针对该方法的使用是有较多的要求的。

请问一下问题解决了吗?我这边也遇到了这个问题(我这边的需求是动态绘制一个没有fill只有outline的多边形),初步判断可能是设置了outline为true的问题,似乎现在不支持动态设置位置的情况下设置outline。但是网上有些例子是可以同时设置outline为ture的,不知道是不是超图采用的Cesium版本的原因,希望官方测试一下。
5EXP 2023年07月10日
...