天天看点

百度地图js报错Uncaught TypeError: b.ga(...).nb is not a function

事件:百度地图异步批量创建marker,单击单个marker弹出对话框报错。

报错:

VM1771:1 Uncaught TypeError: b.ga(...).nb is not a function
    at HTMLSpanElement.eval (eval at zZ (getscript?v=2.0&ak=CBb579132…&services=&t=20170411141812:1), <anonymous>:1:1279)      

分析:断点调试得知创建point错误。

百度point对象:H {lng: 121.4879592445485, lat: 31.24944089864297}

我自己创建的对象:Object {lat: 31.249642115944074, lng: 121.48752080473454}

由于对象类型不一致导致的报错。

解决:

var point = gcj2bd(info.distY, info.distX);
point = new BMap.Point(point.lng, point.lat);