TypeScriptでGeoJsonを使用しようとしましたが、コンパイラーは次の2つの変数に対してエラーをスローします:Generic type 'Feature<T>' requires 1 type argument(s)
const pos = <GeoJSON.Feature>{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [0, 1]
}
};
const oldPos = <GeoJSON.Feature>{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [2, 4]
}
};
これはどういう意味ですか?
機能インターフェースにはパラメーターが必要です。
export interface Feature<T extends GeometryObject> extends GeoJsonObject
{
geometry: T;
properties: any;
id?: string;
}
これを試して:
const pos = <GeoJSON.Feature<GeoJSON.GeometryObject>>{
"type": "Feature",
"properties":{},
"geometry": {
"type": "Point",
"coordinates": [0, 1]
}
};
また、ヘルパータイプを導入し、キャストする代わりにposにタイプを設定すると、必要な「プロパティ」属性を確実に設定するのに役立ちます。
type GeoGeom = GeoJSON.Feature<GeoJSON.GeometryObject>;
const pos: GeoGeom = {
type: "Feature",
properties: "foo",
geometry: {
type: "Point",
coordinates: [0, 1]
}
};