1. 程式人生 > >百度地圖js報錯Uncaught TypeError: b.ga(...).nb is not a function

百度地圖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}

由於物件型別不一致導致的報錯。

解決:建立百度的point物件

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