如何解决腾讯位置服务出现WebGL: CONTEXT_LOST_WEBGL: loseContext: context lost?
发布于 3 年前 作者 huaer 5010 次浏览 来自 问答
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利

vue中使用腾讯位置服务api根据不同的经纬度定位,有时候,会出现WebGL: CONTEXT_LOST_WEBGL: loseContext: context lost的警告,然后屏幕一黑,再看时控制台已经报错了,这个该如何解决
%E4%BD%8D%E7%BD%AE%E8%AD%A6%E5%91%8A%E4%BF%A1%E6%81%AF

%E6%8A%A5%E9%94%99%E4%BF%A1%E6%81%AF
代码片段

<template>

      <div>

       <div id="container" :style="{'height':height+'px'}"></div>

      </div>

   </template>

     

    <script>

    export default {

      name: "MapArea",

      props: {

        height: Number,

        lat: Number,

        lng: Number

      },

      data() {

        return {

          markerLayer: null,

          map:null

        };

      },

      mounted() {

        var lat = this.lat;

        var lng = this.lng; 

        var map = new TMap.Map("container", {

            center: new TMap.LatLng(lat, lng)

        });

        this.markerLayer = new TMap.MultiMarker({

            map: map, //指定地图容器

            //样式定义

            styles: {

              //创建一个styleId为"myStyle"的样式(styles的子属性名即为styleId)

              myStyle: new TMap.MarkerStyle({

                width: 25, // 点标记样式宽度(像素)

                height: 35, // 点标记样式高度(像素)

                src: "https://ncovwechatapi.zhixinst.com/jxnydx/position.png", //图片路径

                //焦点在图片中的像素位置,一般大头针类似形式的图片以针尖位置做为焦点,圆形点以圆心位置为焦点

                anchor: { x: 16, y: 32 }

              })

            },

            //点标记数据数组

            // geometries: [

            //   {

            //     id: "1", //点标记唯一标识,后续如果有删除、修改位置等操作,都需要此id

            //     styleId: "marker", //指定样式id

            //     position: new TMap.LatLng(lat, lng), //点标记坐标位置

            //     properties: {

            //       //自定义属性

            //       title: "打卡位置"

            //     }

            //   }

            // ]

          })

        this.init();

      },

     

      methods: {

        init() {

          var lat = this.lat;

          var lng = this.lng;

          this.markerLayer.setGeometries([{

            id: "1", //点标记唯一标识,后续如果有删除、修改位置等操作,都需要此id

            styleId: "marker", //指定样式id

            position: new TMap.LatLng(lat, lng), //点标记坐标位置

            properties: {

              //自定义属性

              title: "打卡位置"

            }

          }]);

        },

        

      }

    };

    </script>
回到顶部