我正在尝试使用传单和传单路由机。我使用以下命令安装传单和传单路由机,
npm i leaflet
npm i --save-dev @types/leaflet
npm i leaflet-routing-machine
npm i --save-dev @types/leaflet-routing-machine进口传单并使用它是好的,但当我试图使用传单路由机,它给我错误。
以下是我的代码,
L.Routing.control({
waypoints: [
L.latLng(latitude, longitude),
L.latLng(latitude, longitude),
],
show: false,
lineOptions: {styles: [{color: randomColor, opacity: 1, weight: 5}],},
createMarker: function () {
return null;
},
}).addTo(this.map);我使用webstorm作为IDE,我得到了lineOptions和createMarker的两个错误。我在普通的JavaScript中有相同的代码,它工作得很好,但是对于角度来说,它给了我这个错误。
对于lineOptions,它是这样写的,当我添加那些缺失的参数时,错误消失了,但是我不想把这些参数放在一起。
TS2739:类型{TS2739:{ color: string;不透明度: number;权重: number;}[];}“类型”中缺少下列属性: extendToWaypoints,missingRouteTolerance
对于createMarker,它说,
TS2345:类型'{路由器: MapBox;路径点: LatLng[];显示: false;createMarker:() => null;}‘的参数不能分配给'RoutingControlOptions’类型的参数。辅助对象文字只能指定已知的属性,并且'createMarker‘不存在于'RoutingControlOptions’类型中。
既然它在JavaScript中工作,它为什么不工作在角度上?
发布于 2021-06-19 00:07:43
createMarker在RoutingControlOptions上不存在。将其从对象中移除。
但是,有一个plan: Plan成员,它可以将一个PlanOptions传递给包含createMarker的构造函数。
LineOptions必须定义extendToWaypoints和missingRouteTolerance。如果您“不想要”它们,请将它们设置为有意义的值--比如false表示extendToWaypoints,0表示missingRouteTolerance。
JavaScript实现可能忽略未知,并且在您传递的options对象中对未定义的键值具有正常的默认值。然而,TypeScript的定义更为严格。也有可能,它不是绝对正确的类型。
https://stackoverflow.com/questions/68042404
复制相似问题