mapvgl报错TypeError: Can‘t call method on undefined

环境

vue2、“mapvgl”: “^1.0.0-beta.191”

解决

问题大概是,封装公共的显示标记点方法generateIconLayer时,遇到报错: TypeError: Can’t call method on undefined,mapvgl.min.js,这个报错,导致地图不显示任何标记点

排查出来的结果是,配置项offset传了undefined,导致一系列报错。最终代码如下:

import * as mapvgl from "mapvgl";

function generateIconLayer(options) {
   return new mapvgl.IconLayer({
     id: options.id,
     width: options.width,
     height: options.height,
     offset: options.offset || [0, 0], // 一定要写默认值,不然报错:TypeError: Can't call method on  undefined
     icon: options.icon,
     data: options.data,
     enablePicked: true,
     onClick: (e) => {
       if (e.dataItem) {
         options.onClick(e.dataItem);
       }
     },
   });
}

解决方案是,只需设置个[0, 0]默认值。传送门:mapvgl官方文档

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值