我正在为自定义的谷歌地图控件工作,制作自定义数据分页器。该控件需要确定要显示哪些页面范围。例如,如果用户在第6页,则控件必须显示第1页到第10页。如果用户在第37页,则控件必须显示第30页到第40页。
我可以使用以下变量:
X - 总结果数(地图上的点); Y - 当前页面大小,即每页的点数; Z - 当前显示的页面; Q - 要显示的页面数(常量为10)。
我已经想出了以下公式:
起始索引 = Z - (Z % Q); 结束索引 = Z - (Z % Q) + Q。
然而,这个公式对于当前页面小于10的情况不适用。它也无法确定是否达到了最大页面,即我们总是显示一个完整的10页范围。但是,如果我们显示30-40的范围,最终页面可能实际上是38。
如果有人能想出更优雅的算法,将不胜感激。
我可以使用以下变量:
X - 总结果数(地图上的点); Y - 当前页面大小,即每页的点数; Z - 当前显示的页面; Q - 要显示的页面数(常量为10)。
我已经想出了以下公式:
起始索引 = Z - (Z % Q); 结束索引 = Z - (Z % Q) + Q。
然而,这个公式对于当前页面小于10的情况不适用。它也无法确定是否达到了最大页面,即我们总是显示一个完整的10页范围。但是,如果我们显示30-40的范围,最终页面可能实际上是38。
如果有人能想出更优雅的算法,将不胜感激。