javascript 在MapboxMap上,如何保持图层始终可见,无论缩放级别如何?

kb5ga3dv  于 2022-12-10  发布在  Java
关注(0)|答案(1)|浏览(421)

我已经尝试在图块级别上理解数据显示处理的基本机制,但是我没有找到任何足够明确的文献来让我理解它是如何工作的。
我有一个简单的需求:以使符号图层始终可见。
我已经测试了这些属性很长时间:'图标允许重叠':真,图标忽略位置':真,文本允许重叠':真,文本忽略位置':false我也尝试过处理图层和源文件的顺序,以及缩放级别的可见性......但我的印象是,内部工作方式使所有这些内容过载,并接管了我的陈述。
我猜这和瓷砖加载的数据有关......但我无法进一步了解“问题”。
我感兴趣的任何解释或链接(或例子!),这将有助于我了解Mapbox在这方面的工作。

eqoofvh9

eqoofvh91#

如果数据位于矢量切片源中,切片中的数据可用性将限制您控制符号可见的缩放级别的能力。主要原因是,当您缩放到矢量切片图层中可用数据的缩放范围之外时,数据将变为不可用。如果您控制矢量切片源,则可以使数据在矢量切片的所有缩放级别中可用。但请注意,这可能会产生一个问题,如果你有大量的点时,所有的方式放大。
如果数据是通过GeoJSON源加载的,则可以使用您提到的四个图标/文本选项使符号始终显示在所有缩放级别上。
如果您使用的是矢量图块,并且无法控制图块,则可能会进行黑客攻击,从矢量图块中捕获数据并将数据存储在geojson源中。(使事物透明或不可见,以便仍然请求图块),然后随着Map移动,从该来源撷取可检视对映区域中的所有几何图形。理想情况下,您会有一个唯一的识别码,可用来追踪几何图形,这样您就不会储存/撷取相同的几何图形一次以上。请注意,如果几何图形是在缩小时从矢量图块捕获的,则位置的准确度可能较低,因为坐标将在该缩放级别上被捕捉到像素,因此您可以潜在地跟踪捕获几何图形时所处的缩放级别,并且如果您稍后在进一步放大时再次遇到相同的几何体,您可以相应地替换几何体坐标以提高其准确性。这需要相当数量的代码才能正常工作,但如果您没有其他选择,这应该是可行的。

相关问题