奈月奇 2022-06-21 12:31 采纳率: 0%
浏览 1398
已结题

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')

我想要达到的结果

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

  • 写回答

1条回答 默认 最新

  • 崽崽的谷雨 2022-06-21 16:28
    关注

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

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

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月10日
  • 创建了问题 6月21日

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算