【问题标题】:Property 'pixiOverlay' does not exist属性“pixiOverlay”不存在
【发布时间】:2020-04-09 01:32:20
【问题描述】:

在我的 Angular 8 项目中,我必须在地图上放置一些标记,所以我使用 Leaflet。由于有时有几千个标记,我决定使用Leaflet.PixiOverlay 来避免性能问题。所以我安装并导入了所有的库:

import * as PIXI from 'pixi.js';
import 'leaflet-pixi-overlay';
import * as L from 'leaflet';

到目前为止一切顺利。当我尝试绘制标记时,问题就来了(我正在按照Leaflet.PixiOverlay 的示例进行操作)。

const pixiOverlay = L.pixiOverlay(function(utils) {

  //

}, pixiContainer);
pixiOverlay.addTo(this.map);

我得到L.pixiOverlay 以红色突出显示并且这个编译错误:

错误:..../pages/maps/map.component.ts(86,29):错误 TS2339: 类型“typeof”上不存在属性“pixiOverlay” import("C:/Users/ .... /node_modules/@types/leaflet/index")'.

有什么想法吗?提前致谢。

【问题讨论】:

  • 你在组件的方法中调用 L.pixiOverlay 吗?如果是,是什么方法?
  • 在一个名为initMap()的方法中,该方法在ngAfterViewInit()中调用
  • 我尝试在 stackblitz 中重现您的问题。你能提供一小部分代码吗? (最好是整个堆栈闪电战)
  • 我把代码放在这里 (link)。由于某种原因,stackblitz 找不到传单包。我试图重新安装它没有成功。无论如何,我解决了这个问题,添加了这个: const pixiOverlay = (L as any).pixiOverlay(function(utils) {。感谢您的努力。
  • 我创建了一个全新的 Angular 项目,但无法重现您的问题。你有一个公共回购我可以克隆以便测试吗?另外,ng build 不工作吗?

标签: angular typescript leaflet angular8


【解决方案1】:

我也遇到了这个问题,并设法错过了solution in the comments。所以只是为了让其他人不会像我一样错过它:

解决办法是更换

const pixiOverlay = L.pixiOverlay(...)

const pixiOverlay = (L as any).pixiOverlay(...)

【讨论】:

    猜你喜欢
    • 2019-05-04
    • 1970-01-01
    • 2013-10-10
    • 2020-12-31
    • 1970-01-01
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    相关资源
    最近更新 更多