首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack懒惰加载宣传单-Geoman

Webpack懒惰加载宣传单-Geoman
EN

Stack Overflow用户
提问于 2021-09-17 13:38:28
回答 1查看 103关注 0票数 2

我正在尝试延迟加载js绘图库Leaflet-Geoman

我使用了webpack和下面的代码来加载

代码语言:javascript
复制
  private async loadGeoman () {
    await import(/* webpackChunkName: "leaflet-geoman" */ '@geoman-io/leaflet-geoman-free')
  }

然后在下面的函数中使用它

代码语言:javascript
复制
  public async enableDrawing (type: TaggedType, item: any) {
    await this.loadGeoman()

    this._map.pm.enableDraw(type, {
       ...
    })
    ....

我一直收到以下错误

代码语言:javascript
复制
TypeError: Cannot read properties of undefined (reading 'enableDraw')
    at DrawingService.enableDrawing (drawing.service.ts?af11:192)
    at eval (drawing.service.ts?af11:75)

图书馆似乎没有和传单地图联系在一起。Leaflet地图是在加载库之前创建的,我假设这就是问题所在,但我不知道如何解决它

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-18 10:11:23

Geoman在初始化地图时将自己添加到地图中。这意味着如果在Geoman-Script被添加到您的站点之前调用L.Map,Geoman将不会添加到地图中。然后你需要调用L.PM.reInitLayer(map)

代码语言:javascript
复制
public async enableDrawing (type: TaggedType, item: any) {
    await this.loadGeoman();

    L.PM.reInitLayer(this._map);

    this._map.pm.enableDraw(type, {
       ...
    })
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69224411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档