我有一条超过 13,000 纬度/经度点的路径。在本地测试它工作正常,但一旦在设备上它是超级征税和滞后。路径如此密集,因为路径已被捕捉到道路。
我可以做些什么来优化事情,让我的应用程序运行得更顺畅?根据缩放级别定义路径密度?我怎样才能做到这一点?
我有一条超过 13,000 纬度/经度点的路径。在本地测试它工作正常,但一旦在设备上它是超级征税和滞后。路径如此密集,因为路径已被捕捉到道路。
我可以做些什么来优化事情,让我的应用程序运行得更顺畅?根据缩放级别定义路径密度?我怎样才能做到这一点?
Leaflet 有一个向量smoothFactor
选项:L.Polyline
在每个缩放级别上简化多段线的程度。更多意味着更好的性能和更流畅的外观,更少意味着更准确的表示。
您可以将路径简化为 GeoJSON 文件,例如使用在线工具mapshaper。该网站使用起来非常简单。
从源头简化还可以节省下载时间,而不是获取整个 13k 点并在客户端使用 Leaflet 进行简化。
如果您正在寻找 javascript 解决方案geojson-mend。前用法:
var geomend = require("geojson-mend");
var isMended = geomend.nReduce(<GEOJSON OBJECT>, <TOLERANCE>);
console.log(isMended);
替换<GEOJSON OBJECT>
为您的 GeoJSON 对象和<TOLERANCE>
您想要的分辨率。0.0001
大致等于11.1m
。
在您的场景中,您可以使用此插件的变体来获取和保存有关缩放级别更改的不同级别的详细信息?