[英]Displaying icons with exact size
我想在我的 map 上有精确大小的图标,其中每个图标在 map 上占据以米为单位的预定义大小。 此外,这些需要在运行时进行更改,因此无法提前生成覆盖整个 map 的图像。 我的用例是显示要涂漆的路面标记,所以 3 平方米可能是显示的最大的东西。 通过将icon-rotation-alignment
设置为map
可以轻松匹配旋转和俯仰,留下大小问题。 我可以通过interpolate
缩放icon-size
( ['interpolate', ['exponential', 2], ['zoom'], 15, 1 / 72, 22, 1 / 0.56]
),但我然后会遇到墨卡托投影的纬度差异问题。 但是,可能可以根据缩放和当前纬度进行插值。
或者,一些看起来正在执行对齐真实世界大小的类似任务的演示是Add a 3D model ,添加 canvas 源代码,添加一个自定义样式。 我对如何使用每个的理解:
其中哪一个是最好的选择?
您可以使用 mapbox 中的栅格图层轻松完成此操作,但您需要使用考虑纬度的转换来计算图像 4 个角的长度(以米为单位)。
如果您想添加精确米大小的图像(考虑纬度)的其他选项,只需使用最新版本的threebox进行检查
您将能够加载任何图像(以及任何 3D 模型)并以米为单位(实际上是毫米)定义其大小,只需几行代码,但使用 threejs 插件执行纯 2D 任务可能就像打鱼一样在一个桶里。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.