我正在尝试使用 Leaflet 和 Leaflet Routing Machine。我使用以下命令安装传单和传单路由机,
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,我得到 2lineOptions
和createMarker
. 我在纯 JavaScript 中有相同的代码,它工作正常,但对于 Angular,它给了我这个错误。
因为lineOptions
它说以下,当我添加那些缺少的参数时,错误消失了,但我不想放那些参数。
TS2739:类型'{样式:{颜色:字符串;不透明度:数字;重量:数量;}[]; }' 缺少“LineOptions”类型的以下属性:extendToWaypoints、missingRouteTolerance
因为createMarker
它说以下,
TS2345:类型参数'{路由器:MapBox; 航路点:LatLng[]; 显示:假;createMarker: () => null; }' 不可分配给“RoutingControlOptions”类型的参数。对象字面量只能指定已知属性,并且在“RoutingControlOptions”类型中不存在“createMarker”。
既然它在 JavaScript 中工作,为什么它不能在 Angular 中工作?