我正在做一个使用传单地图服务的Angular项目。我遇到了聚类问题。我想切换聚类,为此我找到了一个包,其中包含启用/禁用聚类功能的方法:Leaflet.MarkerCluster.Freezable
我已经按照软件包安装的说明进行操作:
-
npm install leaflet.markercluster.freezable --save
它在我的node_modules
文件夹下安装它并更新package.json
(安装成功( - 现在,如果我尝试在我的打字脚本文件中
import 'leaflet.markercluster.freezable';
,我的 VS Code 不会在智能感知功能中显示包中的方法。
我不明白出了什么问题(我认为导入可能存在问题(。
不幸的是,目前还没有可用于Leaflet.MarkerCluster.Freezable library的输入。
你应该能够自己写它们,如下行:
Leaflet.markercluster.freezable.d.ts
import * as L from 'leaflet';
declare module 'leaflet' {
class MarkerClusterGroup {
freezeAtZoom(frozenZoom?: number | boolean | 'max' | 'maxKeepSpiderfy'): this;
unfreeze(): this;
disableClustering(): this;
disableClusteringKeepSpiderfy(): this;
enableClustering(): this;
}
}
然后在 TypeScript 项目配置中引用此定义文件。
请将 leaflet.markercluster.freezable.js 文件路径添加到脚本部分中的角度 CLI JSON 文件中,如下所示
..node_modulesleaflet.markercluster.freezabledistleaflet.markercluster.freezable.js
"scripts": [
"../node_modules/angular-ui-grid/ui-grid.min.js",
"../node_modules/leaflet.markercluster.freezable/dist/leaflet.markercluster.freezable.js"
],
然后我认为它会起作用 导入"传单.标记群集.冻结">