高德地图 Uncaught Invalid Object: Pixel(NaN, NaN)

高德地图 Uncaught Invalid Object: Pixel(NaN, NaN)

 

页面调用高德地图时,通过经纬度坐标,在地图上添加marker点的时候,报了这个错:

Uncaught Invalid Object: Pixel(NaN, NaN)

报错原因分析:

Pixel(NaN, NaN): 我们可以从控制台的错误信息知道提示坐标值为空,也就是我们传入的坐标是个空值

  • 原因1:  传入的坐标格式不是数组格式, 例如: position: {116.406315,39.908775}
  • 原因2:  传入的坐标不是number, 有可能是字符串, 例如:position: [“116.406315”, “39.908775” ],
  • 原因3:  传入的坐标就是一个空值 :[ ]

ps: 通过控制台直接console.log( coord ), 查看打印的坐标值是什么。

解决方案:

找到了错误出现的原因,那么我们就可以去一一的解决了。

这里要注意的高德地图API添加marker的坐标格式为数组类型

  • 方案1: 遍历所有的坐标, 将其格式转换成数组的格式,然都再去添加marker
  • 方案2: 倘若坐标不是number的类型我们可以遍历,然后坐标经纬度分别减0, 用这样的方法转成number类型:
this.markerList.push([
     item.location.lng-0,
     item.location.lat-0
]) 
  • 方案3: 如果坐标为空,那么就要检查自己获取的数据了。

高德地图在使用过程中经常为因为数据格式的问题报错, 这里我们一定要去控制台打印出来对照API的数据格式才能快速有效的解决问题。记录一下自己踩过的坑… …

站内部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
赞赏是最好的支持
如果对你有帮助那就支持一下吧
立即赞赏
分享到:
赞(12) 打赏

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

小月博客-一个专注于分享的技术博客
没有账号? 忘记密码?