我正在使用一个Angular项目,我使用Leaflet地图服务。我遇到了群集问题。我想切换群集,为此我找到了一个包含启用/禁用群集功能的方法的包:Leaflet.MarkerCluster.Freezable
我已按照包安装说明进行操作:
npm install leaflet.markercluster.freezable --save
node_modules
文件夹下,并更新了package.json
(安装成功)import 'leaflet.markercluster.freezable';
,我的VS代码不会在智能感知功能中显示包中的方法。 我不明白出了什么问题(我认为导入可能存在问题)。
答案 0 :(得分:2)
不幸的是,Leaflet.MarkerCluster.Freezable库还没有可用的类型。
你应该能够自己写下这些内容,其中包括以下内容:
<强> 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项目配置中引用此定义文件。
答案 1 :(得分:0)
请将leaflet.markercluster.freezable.js文件路径添加到脚本部分的angular cli json文件中,如下所示
..\node_modules\leaflet.markercluster.freezable\dist\leaflet.markercluster.freezable.js
"scripts": [
"../node_modules/angular-ui-grid/ui-grid.min.js",
"../node_modules/leaflet.markercluster.freezable/dist/leaflet.markercluster.freezable.js"
],
然后我认为它会起作用 import'leaflet.markercluster.freezable'