您的位置:首页 > Web前端

使用GeometryService进行buffer总是报错‘init.js:192 Error: Unable to complete operation.(…)’

2016-07-12 11:23 302 查看
如题,使用GeometryService进行buffer,控制台总是报错,不能正确的buffer,看不出具体的错误内容。

‘init.js:192 Error: Unable to complete operation.(…)’

问题出现在BufferParameters的设置参数上。

<span style="font-size:18px;">var params = new BufferParameters();
params.geometries = [geometry];
params.distances = [distance];
params.bufferSpatialReference = that.map.spatialReference;
params.outSpatialReference = that.map.spatialReference;
params.unit = GeometryService['UNIT_METER'];</span>


看起来参数设置是没有问题的。但是,说明文档没有说清楚,害我找了4个小时的错误。

1、bufferSpatialReference这个参数必须使用投影坐标系。

这个参数是执行缓冲区的要素的坐标参考,如果使用投影坐标系就会报错。说明文档中只是说这个是设置空间参考的。

原代码改为:

<span style="font-size:18px;">params.bufferSpatialReference = <span style="font-size: 18px;">new SpatialReference({ wkid: 102100});</span></span>

2、outSpatialReference这个参数可以是地理坐标系或投影坐标系。

这两个参数如果没有设置,会默认与另一个参数相一致,如果两个参数都没有设置,则与geometry的空间参考一致。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: