[英]Leaflet GeoJSON type not associating with GeoJSON object
我已经广泛使用 Leaflet 0.7,但我第一次为一个新项目尝试 1.7。 我正在尝试扩展 GeoJSON 图层类以使用默认的pointToLayer
方法,这些似乎失败了,因为 GeoJSON 的类型定义没有与对象关联......这是我正在尝试的:
import { GeoJSON } from 'leaflet';
const geojsonMarkerOptions = {
...
};
export const Layer = GeoJSON.extend({
initialize: function() {
GeoJSON.prototype.initialize.call(this, [], {
pointToLayer: (feature, latlng) => this.pointToLayer(feature, latlng)
});
},
pointToLayer: function(feature, latlng) {
...
}
}
编译器抱怨:
“GeoJSON”类型上不存在属性“初始化”
所以不知何故 GeoJSON 类型没有与 GeoJSON 对象相关联是我对此的解释......你的是什么? 我正在使用 Leaflet 1.7.1、@types/leaflet 1.5.19 和 Typescript 4.0.3。 我已经更新到 Angular 10 并删除并重新安装了 Leaflet 和它的 @types 包,我还尝试清除我的节点模块并重新安装它们。 有人知道我在这里做错了什么,对吧??
虽然 Leaflet JS 代码确实在其类上有一个initialize
方法,并且在文档示例中提到了这个方法,但它并没有在 API 中明确描述,因此它没有被包含在类型...
您可以添加它,或者更好地向@types/leaflet
包/repo 发送拉取请求,或者简单地忽略 TypeScript 编译器错误,并在使用initialize
方法的行上方使用// @ts-ignore
注释指令。
你不想做这样的事情吗?
export class Layer extends GeoJSON {
initialize() {
super.initialize()
}
}
我承认虽然不知道传单。 但这将是我的第一个猜测。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.