angular 百度地图Cannot read properties of undefined (reading 'addOverlay')报错

问题遇到的现象和发生背景

1.本人人使用的angular
2.本人在调用百度api后Ts文件下的自定义函数中调用this.map.addOverlay(markerMouse);
提示报错Cannot read properties of undefined (reading 'addOverlay')

问题相关代码,请勿粘贴截图

map = new BMap.Map('map');//创建地图实例
ngOnInit(): void {
this. map = new BMap.Map("map");
var point = new BMap.Point(116.407, 39.915);//创建点坐标
this.map.centerAndZoom(point, 15);//初始化地图,设置中心点坐标和地图级别
this.map.addOverlay(116.407, 39.915);
}

addSign() { //这里是在html中按钮监听,当点击时提示可以开始了
alert("请开始在地图上点击添加点")
this.map.addEventListener('click',this.handleClick)
}

handleClick (e:any)
{
alert('点击的经纬度:' + e.point.lng + ', ' + e.point.lat)
var point = new BMap.Point(e);
var markerMouse = new BMap.Point(point );//创建点坐标
this.map.addOverlay(markerMouse); //问题
}

运行结果及报错内容

Cannot read properties of undefined (reading 'addOverlay')

我想要达到的结果

当我点击按钮后,提示开始了,在地图上点击获取坐标并在座标出创建一个点。

js 语法错误 说明this.map 里没有 addOverlay 的函数 。 你打印一下看看 。

可以加个非空判断
if(this.map&&this.map.addOverlay){
this.map.addOverlay()
}