事件:百度地图异步批量创建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);