前端出现变量map未定义

这篇具有很好参考价值的文章主要介绍了前端出现变量map未定义。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原来错误代码

mounted() {
....
    this.map.addEventListener("click", function(e){//地图单击事件
      var geocoder = new BMap.Geocoder();
      var point = new BMap.Point(e.latlng.lng,e.latlng.lat);
      console.log("经度:"+e.latlng.lng +"纬度"+e.latlng.lat);
      geocoder.getLocation(point,function(geocoderResult,LocationOptions){
        // 清除点
        this.map.clearOverlays();
        this.map.addControl(new BMap.NavigationControl());
        var marker = new BMap.Marker(point);        // 创建标注
        this.map.addOverlay(marker);
      });
    });
....
}

在JavaScript中,函数内部的this关键字取决于函数的调用方式。当你在回调函数中使用function(e) { ... }时,该函数内部的this值可能不是你期望的值,通常情况下是指向全局对象(在浏览器环境中为window)或在严格模式下为undefined。
为了解决这个问题,你可以使用箭头函数(() => { ... })而不是传统的函数表达式。箭头函数没有自己的this上下文,它从周围的作用域继承this。引用外部作用域中的this,其中this.map被定义。文章来源地址https://www.toymoban.com/news/detail-747406.html

修改方案为:

mounted() {
....
    this.map.addEventListener("click", (e)=>{//地图单击事件
      var geocoder = new BMap.Geocoder();
      var point = new BMap.Point(e.latlng.lng,e.latlng.lat);
      console.log("经度:"+e.latlng.lng +"纬度"+e.latlng.lat);
      geocoder.getLocation(point,(geocoderResult,LocationOptions)=>{
        // 清除点
        this.map.clearOverlays();
        this.map.addControl(new BMap.NavigationControl());
        var marker = new BMap.Marker(point);        // 创建标注
        this.map.addOverlay(marker);
      });
    });
....
}

到了这里,关于前端出现变量map未定义的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 前端vue入门(纯代码)22_四个map

    前端vue入门(纯代码)22_四个map

    女为悦己者容,男为悦己者穷。!!! 【 23.Vuex中的四个map方法 】 [可以去官网看看Vuex3文档](Vuex 是什么? | Vuex (vuejs.org)) 1.vuex求和案例—getters版 getters概念:当state中的数据需要经过加工后再使用时,可以使用getters加工。【是 store 的计算属性】 【getters理解】:类似是Vue

    2024年02月12日
    浏览(9)
  • 电脑出现错误代码0xc0000001都有什么解决办法,分享错误代码的解决方法

    电脑出现错误代码0xc0000001都有什么解决办法,分享错误代码的解决方法

    当使用电脑进行各项操作时,有可能会遇到一些突发的问题,其中之一就是电脑出现蓝屏并提示错误代码0xc0000001。若你无法明白原因及对应方案,这确实会让人非常迷茫并产生诸多困扰。今天这篇文章将为你详细地解析什么是错误代码0xc0000001,它的可能原因,以及电脑出现

    2024年02月05日
    浏览(14)
  • 电脑出现错误代码0x80070035要怎么办?教你解决错误代码0x80070035

    电脑出现错误代码0x80070035要怎么办?教你解决错误代码0x80070035

    电脑刚开机就收到提示电脑出现错误代码0x80070035?出现这样的问题可能是电脑网络练级错误或网络路径的问题,有什么办法可以解决错误代码0x80070035的办法呢?今天就来讨论一下错误代码的问题应该如何解决。 检查网络 首先我们先排查一下电脑网络连接的问题,先检查一下

    2024年02月05日
    浏览(13)
  • 【GITEE】码云上传代码文件出现上传错误的问题

    【GITEE】码云上传代码文件出现上传错误的问题

    【GITEE】码云上传文件出现上传错误的问题 解决 git push 到码云的时候报错: Powered by GITEE.COM [GNK-6.4] remote: This repository(including wiki) size 1049.73 MB, exceeds 1024.00 MB. remote: Push rejected for repository size exceeds limit. 1. 情况描述 正常GITEE的免费版本,仓库容量只有1G左右,所以仓库上传文件

    2024年02月15日
    浏览(15)
  • 电脑出现错误代码0x80004005的解决方法

    电脑出现错误代码0x80004005的解决方法

    电脑出现错误代码0x80004005怎么办?用户在操作 Win10 电脑的时候,可能会遇到各种各样的问题,还有收到错误代码0x80004005的提示。如果出现这样的情况,就导致用户无法正常在电脑上展开操作,下面小编就大家介绍两种简单的解决方法,解决后用户就能舒心操作电脑咯。 电脑

    2024年02月07日
    浏览(15)
  • 电脑出现错误代码0xc000000e怎么办,解决错误代码0xc000000e的几种办法

    电脑出现错误代码0xc000000e怎么办,解决错误代码0xc000000e的几种办法

    最近有看到小伙伴们提问,电脑出现错误代码0xc000000e怎么办?一旦电脑提示这种错误代码就会导致电脑无法正常运行,软件或游戏将会不能打开,今天就关于这个问题,教大家解决错误代码0xc000000e的几种办法。 1.硬盘错误:出现错误代码0xc000000e的原因可能是硬盘驱动器出现

    2024年02月08日
    浏览(13)
  • 前端文件上传,后端SpringMVC出现Required part ‘file‘ is not present错误解决

    前端文件上传,后端SpringMVC出现Required part ‘file‘ is not present错误解决

            本人新手一枚,因为该错误在网上找了许多解决方法都不能解决自己出现的问题,浪费了很多时间,因此记录自己解决该问题的过程,希望能够帮助出现该错误的朋友。         先说明本人的框架使用,因为网上有许多解决办法,都有不同的框架,因此该方法可

    2024年04月24日
    浏览(11)
  • 电脑出现蓝屏提示0xc0000001错误的解决办法,解决错误代码0xc0000001

    电脑出现蓝屏提示0xc0000001错误的解决办法,解决错误代码0xc0000001

    错误代码0xc0000001是Windows操作系统中的一个启动错误,出现0xc0000001错误通常会在电脑启动过程中出现。0xc0000001错误表明因为各种原因,如损坏的系统文件、损坏的硬件或不正确的配置,操作系统无法正常加载。 系统文件损坏:0xc0000001错误可能是由于病毒攻击、电源故障或硬

    2024年02月03日
    浏览(13)
  • 【JAVA】我们该如何规避代码中可能出现的错误?(一)

    【JAVA】我们该如何规避代码中可能出现的错误?(一)

    个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的,学习一些异常处理方式往往可以使我们编程的时间大大减少。 检查性异常 :最具代表的检查性异常是 用户错误或问题引起的异

    2024年02月12日
    浏览(8)
  • 【JAVA】我们该如何规避代码中可能出现的错误?(二)

    【JAVA】我们该如何规避代码中可能出现的错误?(二)

    个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误00有时候是可以避免的,学习一些异常处理方式往往可以使我们编程的时间大大减少。 注:本文为系列文章,前文可点击观看➡️【JAVA】我们该如何

    2024年02月08日
    浏览(7)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包