javascript - 在特定点的线上绘制箭头
问题描述
我会放置具有特定位置+方向的箭头
我正在使用标记来做到这一点
export class AppComponent implements AfterViewInit,OnInit {
trains = [{
progression:30,
direction: {
from :'Station3',
to: 'Station2'
}},
{
progression:90,
direction: {
from :'Station2',
to: 'Station3'
}
}]
ngAfterViewInit() {
this.trains.map(elm=> {
let path= document.getElementById('path9');
let pt = path.getPointAtLength(elm.progression);
let marker= document.getElementById("mid");
marker.setAttribute('refX','0');
path.setAttribute('marker-end', 'url(#mid)');
let svg =document.getElementById('Calque_1');
console.log(svg)
})
}
}
实际上没有显示标记,我不明白为什么?我正在设置marker-end
路径,因此它应该打印在屏幕上。
这是一个stackblitz 演示
解决方案
您需要使用<marker>
元素和orient
属性。此属性定义标记相对于它所附加到的形状的方向。
更多信息在这里
推荐阅读
- apache-spark - 使用优化的 DSL 为 spark 中的每一行生成 2 行
- javascript - ReactDOM 是否等待 onload 事件开始渲染?
- android - Android 5-5.1 (API 21-22) 上的 WebView 崩溃 Resources$NotFoundException: 字符串资源 ID #0x2040002
- html-framework-7 - 单击事件在 f7-swiper-slide 的第一张幻灯片上不起作用
- compilation - 如何获得最小的 ocamlopt 编译的本机二进制文件?
- angularjs - 用户在 AngularJS 中输入时的 IP 地址验证
- terraform - AWS Provider terraform 应用 provider.aws.region
- c# - 如何让 Visual Studio Intellisense 推荐方法的异步变体
- android - 滚动 WebView 时隐藏 BottomAppBar
- java - 如何读取 excel 单元格值中的下拉列表项?