如何在 Angular 6 上使用Leaflet.TileLayer.ColorFilter和ngx-leaflet 之类的 Leaflet 插件?
我认为我的问题在于项目的导入,因为我想使用插件创建的函数,ColorFilter
但该插件index.d.ts
不是ngx-leaflet
. 我对吗 ?如果是,我该如何解决?有没有办法在 ColorFilter 中贡献一个类型定义以便将来即插即用并帮助像我这样的其他人?你有一些文档吗?
这是我的实际失败:
app.module.ts
我在这里导入ngx-leaflet
imports: [
...
LeafletModule.forRoot()
],
.angular-cli.json
ColorFilter
在这里我直接导入 JS 文件,因为我在插件中没有模块
"scripts": [
"../node_modules/leaflet.tilelayer.colorfilter/src/leaflet-tilelayer-colorfilter.min.js"
],
我的.component.ts
import {circle, icon, latLng, marker, polygon, tileLayer} from 'leaflet';
...
ngOnInit() {
const myFilter = [
'grayscale:100%',
'invert:100%',
];
this.options = {
layers: [
tileLayer.colorFilter(
'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
{ maxZoom: 18, attribution: '...' },
myFilter
)
],
zoom: 5,
center: latLng(46.879966, -121.726909)
};
错误
错误 TS2339:“typeof tileLayer”类型上不存在属性“colorFilter”。