报错


svg.js:42 Error: attribute transform: Expected number, “…0000,0.02102085,NaN,NaN)”.
svg.js:49 Error: attribute x: Expected length, “NaN”.
svg.js:49 Error: attribute y: Expected length, “NaN”.

图标特别大,也看不到地图

分析

这个方法中绘制没问题,但是用定位的时候就会报错。
在官方demo中加载时候数值型数据定位正常。

未修改

let point = new esri.Point([lng, lat], new $esri.SpatialReference({ wkid: 4490 }))

这里面wkid,必须是地图对应的wkid,否则绘制也会失败。

接下来是定位语句,定位层级是17

map.centerAndZoom(point, 17);

但是最后分析,官方用字符型没啥问题,如下图

但是在我的系统用就不行(我去掉path单纯用字符型坐标加也不行,应该是4490的限制,内部有了转化之后的吧),必须转成数值型,这样定位才不会出错。

解决

修改后:

let point = new esri.Point([Number(lng), Number(lat)], new esri.SpatialReference({ wkid: 4490 }))