超图leaflet缓冲区查询一直出错

0 投票
 bufferAnalystProcess();


        function bufferAnalystProcess() {
            dsBufferAnalystService = L.supermap.spatialAnalystService(serviceUrl);
            dsBufferAnalystParameters = new SuperMap.DatasetBufferAnalystParameters({
                dataset: "weixiandian@shixiditu",
                filterQueryParameter: new SuperMap.FilterParameter({
                    attributeFilter: "SmUserID = 0"
                }),
                bufferSetting: new SuperMap.BufferSetting({
                    endType: SuperMap.BufferEndType.ROUND,
                    leftDistance: {
                        value: 50
                    },
                    semicircleLineSegment: 10
                })
            });
            dsBufferAnalystService.bufferAnalysis(dsBufferAnalystParameters, function(serviceResult) {
                var result = serviceResult.result;
                resultLayer = L.geoJSON(result.recordset.features, {
                    color: "red"
                }).addTo(map);
                //查询

                queryService = L.supermap.queryService(baseurl);
                queryByGeometryParameters = new SuperMap.QueryByGeometryParameters({
                    queryParams: [new SuperMap.FilterParameter({
                        name: "student@shixiditu"
                    })],
                    geometry: resultLayer,
                    spatialQueryMode: SuperMap.SpatialQueryMode.INTERSECT
                });

                queryService.queryByGeometry(queryByGeometryParameters, function(serviceResult) {
                    var result = serviceResult.result;
                    resultLayer1 = L.geoJSON(result.recordsets[0].features).addTo(map);
                });
            });
        }

我是用了示例代码里的数据集缓冲区分析构建的缓冲区,几何对象缓冲区分析进行的查询

结果一直出错

4月 19 分类:  35次浏览 | 用户: 18333138096 (9 分)

1个回答

0 投票
 
已采纳

你好,看代码是像你下面的地图几何查询引起导致引起的上面的上面的缓冲区分析的结果出现报错;解决方案:一个是对缓冲区分析的结果进行判断,最好是对你下面的几何查询参数geometry进行修改(PS;该参数点类型可以是:SuperMap.Geometry.Point|L.Marker|L.CircleMarker|L.Circle|L.GeoJSON|ol.geom.Point|ol.format.GeoJSON
线类型可以是:SuperMap.Geometry.LineString|SuperMap.Geometry.LinearRing|L.Polyline|L.GeoJSON|ol.geom.LineString|ol.format.GeoJSON
面类型可以是:SuperMap.Geometry.Polygon|L.Polygon|L.GeoJSON|ol.geom.Polygon|ol.format.GeoJSON)。

4月 19 用户: johnJJ 学富五车 (670 分)
采纳于 4月 21 用户:18333138096
请问如何修改这个geometry参数,我是根据图层中一个点集建立的缓冲区。

resultLayer = L.geoJSON(result.recordset.features, {

                    color: "red"

                }).addTo(map);

这是将缓冲区结果添加到图层。我geometry参数直接用的这个resultLayer 应该改成什么呢
...