javascript - 使用自定义非地理地图的传单
问题描述
我刚开始熟悉Leaflet库。我需要弄清楚如何将大量抽象数据加载到传单中。不是地图。
让它成为一个“地图”,以颜色显示一百万位 Pi。它显示什么并不重要。重要的是我有一个页面可以加载一些块中的字节数组并将其显示为彩色像素。理想情况下,您需要 10x10 块。用户转到带有地图的页面并看到例如100 个块,即10x10 像素的10x10 块,它们代表PI 编号。使用鼠标,用户左右移动,应用程序从后端请求尚未加载的像素。
Leaflet 的功能可以解决类似的问题吗?还是为 Leaflet 编写的插件?
从理论上讲,在我看来这是可能的。但在实践中,所有指南和文档都用于处理地理地图或光栅大图像。
解决方案
您的问题有点笼统,但我认为您在谈论的是制作自己的GridLayer。这是leaflet 的基础类,用于创建您能想到的任何HTML 元素的平铺网格。无论是<div>
带有文本的 a ,还是 a <canvas>
,或者任何你喜欢的。我不确定您所说的“以块的形式加载一些字节数组并将其显示为彩色像素的页面”到底是什么意思,但这听起来像是可以通过使用 写入画布putImageData
然后应用到GridLayer
.
我建议阅读关于扩展传单扩展层的教程。一旦你理解了这一点,你就会发现传单是用来渲染你想要的任何东西的可缩放、可平移的网格。Ivan Sanchez 留下的链接是您可以使用 GridLayers 做的疯狂事情的绝佳示例(L.TileLayer.Canvas
在旧传单版本中通常称为)
推荐阅读
- laravel - 实现 ShouldQueue 时,Laravel 通知“无法使用字符串键解压数组”
- python-3.x - 负数除法和取模
- python - 正则表达式从 python 中的文本编辑帐户详细信息
- c# - 单击时显示面板
- html - 任意级别的嵌套 flex 子级的大小相等
- c# - 为 WebView2 设置缓存目录
- python - 更改线图 pandas/matplotlib 中特定线的线宽
- python - 如果将数字转换为字符串,则使用 find_one 时 Pymongo 不返回值
- r - 仅保留数据框中的某些列,前提是它们符合条件
- java - Thymeleaf 控制器不渲染