gpt4 book ai didi

android - 增加 Android 上 Maps API 的热图半径

转载 作者:行者123 更新时间:2023-11-29 17:24:16 25 4
gpt4 key购买 nike

我在 Google Maps API for Android 上创建了一个热图。问题是当我增加缩放比例时,热图“松散”了半径并且看起来不太好。

有办法将半径增加到 50(可能是最大值)以上吗? :/

Heat map with less zoom

Heat map on zoom

最佳答案

来自 the documentation :

Radius: The size of the Gaussian blur applied to the heatmap, expressed in pixels. The default is 20. Must be between 10 and 50. Use the Builder's radius() to set the value when creating the heatmap, or change the value later with setRadius().

因此,如果您使用 HeatmapTileProvider.Builder 中的 radius(int val) 函数,您将收到 IllegalArgumentException("Radius not within bounds.") 如果半径不在 10 到 50 之间则异常。

看看the GitHub repository您可以看到 radius(int val) 函数检查参数是否在 MIN_RADIUSMAX_RADIUS 之间。

无论如何,您可以使用 HeatmapTileProvider 类上的 setRadius(int radius) 函数(查看 the GitHub repository 中的实现)。

因此,由于 setRadius(int radius) 函数不检查参数,您可以在调用 build()< 后更改 HeatmapTileProvider 的半径如下:

HeatmapTileProvider mProvider = new HeatmapTileProvider.Builder()
.data(list)
.build();
mProvider.setRadius(100);

以警察局为例,将半径设置为 50:

Setting the radius to 50

并将半径设置为 100:

Setting the radius to 100

您可能希望根据缩放级别动态更改热图的半径。

注意:考虑到,如 setRadius 函数的 Javadoc 中所述:

User should clear overlay's tile cache (using clearTileCache()) after calling this.

关于android - 增加 Android 上 Maps API 的热图半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35257612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com