【发布时间】: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