android – 通过舍入坐标矩形缓存叠加 – 如何?

android – 通过舍入坐标矩形缓存叠加 – 如何?,第1张

概述我有一个覆盖的地图,我想缓存 – 在用户在地图上访问的每个地方(这是一个矩形区域) – 我检查是否有一个位于此矩形中的叠加层的缓存. 为了改善缓存(所以如果用户以前在同一个矩形上,除了现在他距离前一个矩形几米) – 我想“圆”坐标. 这样,每次用户处于矩形时 – 我检查这个矩形是否与之前缓存的矩形类似,如果是,我带来缓存的结果. 此外,如果用户缩小并且他的矩形包含在更大的(先前缓存的)矩形中 – 我有一个覆盖的地图,我想缓存 –
在用户在地图上访问的每个地方(这是一个矩形区域) – 我检查是否有一个位于此矩形中的叠加层的缓存.

为了改善缓存(所以如果用户以前在同一个矩形上,除了现在他距离前一个矩形几米) – 我想“圆”坐标.

这样,每次用户处于矩形时 – 我检查这个矩形是否与之前缓存的矩形类似,如果是,我带来缓存的结果.

此外,如果用户缩小并且他的矩形包含在更大的(先前缓存的)矩形中 – 那么我也可以使用缓存的矩形.

有什么建议 ?

解决方法 如果您只是在查看如何对坐标进行分组,请确定x和y坐标或纬度和经度之间的最大差异.然后有两种方法可以对它们进行分组.第一个更容易,但如果你有很多分数,它会很慢.

假设我们有一个名为cachedPoints的数据结构,称为maxdistance的相关点之间的最大距离以及我们试图检查它是否接近另一个被称为点的新点.

for each cachedPoint in cachedPoints{    if (point.x - cachedPoint.x < maxdistance)    {        if (point.y - cachedPoint.y < maxdistance)        {              cachedPoint.incrementvisits();          }    }}

另一种方法是使用按x或纬度排序的数据结构,然后搜索是否存在x或纬度在maxdistance点内的缓存点,然后检查y或longtitude.它会有点快,但它需要某种哈希来实现,并增加了一些你可能不需要的复杂性.

希望这就是你所要求的.

总结

以上是内存溢出为你收集整理的android – 通过舍入坐标矩形缓存叠加 – 如何?全部内容,希望文章能够帮你解决android – 通过舍入坐标矩形缓存叠加 – 如何?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1138546.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-31
下一篇2022-05-31

发表评论

登录后才能评论

评论列表(0条)

    保存