Uncaught TypeError: b.ha(…).nb is not a function

Uncaught TypeError: b.ha(…).nb is not a function

在百度 js API開發過程中,需要創建多點,並分貝給每個店添加事件監聽,彈出信息框,但是,以下代碼只能往地圖中添加標註,卻無法彈框。

var point = {lng : kpresult[i].position[0],lat : kpresult[i].position[1],};
 var marker = new BMap.Marker(point,{icon:myIcon}); // 創建標註
bmap.addOverlay(marker); // 將標註添加到地圖中
addClickHandler(content,marker);
function openInfo(content, point) {
    var infoWindow = new BMap.InfoWindow(content); // 創建信息窗口對象
    bmap.openInfoWindow(infoWindow, point); // 開啓信息窗口
}
function addClickHandler(content,marker){
    marker.addEventListener("click",function(e){
        console.log("e:"+e);
        var p = e.target;
        var point = new BMap.Point(p.getPosition().lng, p.getPosition().lat);

        openInfo(content,point);
        }
    );
}

調試錯誤,出現

Uncaught TypeError: b.ha(...).nb is not a function at HTMLSpanElement.eval (eval at yZ (getscript:1), <anonymous>:1:1279);

這個錯誤,是由於

var point = {lng : kpresult[i].position[0],lat : kpresult[i].position[1],};

在百度API中,應該用百度Point。

var point = new BMap.Point(kpresult[i].position[0],kpresult[i].position[1]);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章