javascript - D3 地图 - 如何在 JSON 数据中包含 SVG 图像文件以创建自定义位置标记?
问题描述
我试图弄清楚如何在我的 json 数据中包含 svg 图标图像,以便相关图标将在相应坐标处显示为标记。
我已经将文件中的数据按照所看到的物体形状分隔(我正在绘制 20 世纪的不明飞行物目击事件),并且我还为每个形状创建了一个 svg 图像文件。
我不确定将图像连接到数据的最佳方法是什么。(我是一个相对初学者)。这是一个视觉效果来帮助解释我的意思:
{ “日期”:“1989 年 10 月 21 日”,“形状”:“三角形”,“纬度”:-41.05446,“经度”:-130.72728,“颜色”:“紫罗兰色”},
然后我在“icons”文件夹中有一个相应的“Triangle.svg”图标。我确信解决方案并不复杂,我只是没有看到它。任何人都可以帮忙吗?
解决方案
从 JSON 切换到 JS 并使用以下结构会更容易:
import TRIANGLE from '../path/to/triangle.svg';
const data = {
date: '10/21/1989',
shape: TRIANGLE,
latitude: -41.05446,
longitude: -130.72728,
color: 'violet',
}
如果您从 API 接收数据,请尝试获取公用文件夹的全名和路径。因此,您可以将图像引用为:
<img src={process.env.PUBLIC_URL + '/triangle.svg'} /> // here change triangle for your shape, in a loop or the way you render them.
有关 PUBLIC_URL 的更多信息:https ://create-react-app.dev/docs/using-the-public-folder/
推荐阅读
- shell - Bash 在执行一个命令后退出,而不是执行脚本的其余部分
- reportingservices-2005 - 在 RDL 文件中执行报告操作“转到报告”
- linux-kernel - 哪个工具可以找到嵌入式 Linux 延迟峰值的原因?
- javascript - 设置 InputFile 后,click()/后面的代码不再执行
- android - java.io.FileNotFoundException: ServiceAccountKey.json (没有这样的文件或目录)
- css - 通过调用函数问题改变按钮类css颜色的角度
- c++ - 将结构与方法与函数和类一起使用之间的区别?
- selenium - 在 Selenium 中,sendKeys() 和 setValue() 方法究竟有何不同?
- java - 如何使用 @Scheduled(fixedDelay) 注释启动和停止外部运行的作业
- macos - 多行的 Sed 编号标志