arcgis js api FeatureLayer加载时返回数据带*问题
接着这一问题衍生出来的问题
arcgis的MapServer服务查询出来的结果geometry坐标点带*的问题-CSDN博客
个人感觉像是server版本的问题,具体不清楚,pg数据库里面的shape点集合坐标点的精度是8,但是server服务查出来的默认都十几位。所以存在一个精度转换的问题,原来其他的server服务都没有出现过,唯独某个项目总是有*号,不知道大家有没有遇到过。
上面我的博客解决了查询的问题,但是用FeatureLayer类加载服务的时候有报错了,也不是报错就是不渲染地图,在返回结果中看到结果是这样:
正确的应该是这样:
原因FeatureLayer是矢量渲染的,也是走的查询接口,返会结果有特殊字符,地图肯定无法渲染。查了一下,果真有“*”。
解决只能也从精度上解决,因为版本问题太难找了。查询FeatureLayer属性,并没有像Query接口的精度参数geometryPrecision,直接设置又不起作用。但是arcgis不至于这么弱吧,一个属性一个属性挨着看,发现一个非常好用的属性customParameters,这里面可以拼接你自己想要的参数:
果真强者还是强者,怎么可能考虑不到呢。加上之后问题完美解决。
new FeatureLayer(
url: "",
customParameters: {
geometryPrecision: 8, //此处解决数据转换精度 的问题
}
}