mapbox 图层的正确类型(打字稿)在哪里?
Where is the correct type (typescript) for a mapbox layer?
举个例子更简单。看看这段代码:
const network:any = this.props.network;
this.map.addLayer({
id: "route",
type: "line",
source: {
type: "geojson",
data: network
},
layout: {
"line-join": "round",
"line-cap": "round"
},
paint: {
"line-color": "red",
"line-width": 2
}
});
this.props.network
设置在别处,代码类似:
const response = await fetch("http://localhost:5000/network");
this.props.network = await response.json();
此代码按预期工作。但我想为 this.props.network
正确设置 te 类型,删除 any
解决方法。 network
是一个有效的 geojson 对象,VS 代码向我显示了这个提示:
所以我猜正确的类型是:FeatureCollection<Geometry, GeoJsonProperties>
但我不知道这些类型在哪里定义以及我必须导入什么;
您要查找的导入位于 geojson
包内。因此导入看起来像:
import { FeatureCollection, Geometry, GeoJsonProperties } from "geojson";
如果查看 mapbox-gl
的类型定义文件,可以看出 geojson
类型在这里引用:Mapbox-GL .d.ts file
举个例子更简单。看看这段代码:
const network:any = this.props.network;
this.map.addLayer({
id: "route",
type: "line",
source: {
type: "geojson",
data: network
},
layout: {
"line-join": "round",
"line-cap": "round"
},
paint: {
"line-color": "red",
"line-width": 2
}
});
this.props.network
设置在别处,代码类似:
const response = await fetch("http://localhost:5000/network");
this.props.network = await response.json();
此代码按预期工作。但我想为 this.props.network
正确设置 te 类型,删除 any
解决方法。 network
是一个有效的 geojson 对象,VS 代码向我显示了这个提示:
所以我猜正确的类型是:FeatureCollection<Geometry, GeoJsonProperties>
但我不知道这些类型在哪里定义以及我必须导入什么;
您要查找的导入位于 geojson
包内。因此导入看起来像:
import { FeatureCollection, Geometry, GeoJsonProperties } from "geojson";
如果查看 mapbox-gl
的类型定义文件,可以看出 geojson
类型在这里引用:Mapbox-GL .d.ts file