OpenLayers & TypeScript报错:泛型MapBrowserEvent需1个类型参数
解决TypeScript中MapBrowserEvent缺少类型参数的错误
MapBrowserEvent是泛型类型,TypeScript要求必须为它指定1个类型参数,这个参数对应地图容器的DOM元素类型。
修正后的代码示例:
// 最常用的HTMLElement类型适配大部分场景 function OnMapClick(event: MapBrowserEvent<HTMLElement>) { // 这里编写你的点击事件处理逻辑 }
如果你的地图容器是更具体的DOM元素(比如div),可以指定更精确的类型:
function OnMapClick(event: MapBrowserEvent<HTMLDivElement>) { // 点击事件逻辑 }
如果暂时不确定具体类型,也可以用unknown(不推荐用any,会失去TypeScript的类型校验优势):
function OnMapClick(event: MapBrowserEvent<unknown>) { // 点击事件逻辑 }
本质上是要满足泛型类型的约束,给MapBrowserEvent传入它期望的元素类型参数即可消除报错。
内容的提问来源于stack exchange,提问作者omer brandis
相关产品推荐
相关产品推荐

