优化和跟踪Mapbox地图视图

时间:2019-01-10 00:00:15

标签: mapbox mapbox-gl-js

我有一个Mapbox映射应用程序,该应用程序每位用户可获得map views的价格-每次点击约30个。似乎有点高! (而且很贵!)

(该应用程序默认尝试使用MapboxGL,如果无法使用,则会退回到Mapbox.js。所有版本还使用Leaflet进行任何有价值的操作。)

我一直在尝试调试它,但是对我来说很难衡量不同的变化如何影响地图视图的总数。

有什么方法可以想象得到我的应用程序正在生成的地图视图的实时计数?我可以肯定地确定没有要查询的简单变量(我已经找到),但是也许有某种方法可以在JS或开发者控制台中进行计数/保持跟踪?任何想法都将不胜感激。

1 个答案:

答案 0 :(得分:1)

您使用的是Mapbox Studio样式还是您自己的图块?在这两种情况下,您都可以使用data事件来计算应用所请求的图块:

map.on('data', event => {
  if (event.tile) tileCount++;
});

这是一个非常简单的例子。 AFAIK 一个地图视图四个图块请求组成。

如果并行加载许多不同的图块源,则最终会产生很多请求,因此会产生地图视图。如果可能的话,您可以将多个来源合并到一个图块集中(如果使用矢量图块)。

如果您使用自己的瓷砖,例如栅格图块,您可以将图块大小从256像素增加到512像素,这将减少请求。对于矢量图块,其大小固定为256。