热力图 - 生成简单的“热点”谷歌地图Android

3

Android SDK 2.3.3 谷歌地图 V2

目前我正在绘制圆形覆盖层并将其添加到地图视图中。大小由某个值决定,我希望通过其他方式确定圆形的辐射梯度颜色。

            circle.setShader(new RadialGradient(pt.x, pt.y, 40, Color.argb(150, 252, 5, 5), Color.argb(60, 234, 231, 0), TileMode.MIRROR));
            canvas.drawCircle(pt.x, pt.y, radius, circle);

它能工作,但我更希望边缘看起来更像经典的热点图。
当前
我想要实现的(我仍然希望形状是圆形)
我考虑直接在当前图像下面画一个圆圈,并略微扩大面积,以实现更典型的热图外观,但这会对性能产生影响,因为我正在使用移动设备进行操作,每次缩放都需要重新渲染。

1
你有什么级别的数据?你只是想改善指示单个点的标记的外观,还是你有关于多个点频率的信息? - Computerish
不,我没有多个点,这纯粹是从外观角度考虑。在圆圈后面添加一个额外的覆盖层就足以实现更好的“外观”,我只是想避免开销。我想阅读绘图类库可能是最好的方法。 - Ash
额,什么?我在我的Android Google Maps v2上无法做任何像这样的事情——Circle没有setShader方法——你能解释一下你在做什么吗? - Aiden Fry
1个回答

0

这里有几个明显的选项,我相信还有许多非明显的方法可以实现:

不幸的是,我不知道哪种选项会给您最佳的性能,所以您可能需要自己测试它们。我猜想,对于大量的热力图点,后两个选项中的一个将更有效率,但这只是一个猜测。


谢谢回复,我会去探索一下 :) - Ash

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接