【问题标题】:Heatmap - Generating Simple 'HeatPoint' Google Maps Android热图 - 生成简单的“热点”谷歌地图 Android
【发布时间】:2012-08-01 15:47:52
【问题描述】:

Android SDK 2.3.3 谷歌地图 V2

目前我正在绘制圆圈叠加层并将它们添加到 MapView。大小由某个值决定,我希望通过其他方式确定圆的 RadialGradient 颜色。

            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);

它可以工作,但是我希望边缘看起来更类似于经典的热点图。

当前

我想要达到的效果(我仍然希望形状是圆形的)

我正在考虑可能在电流正下方绘制一个面积明显更大的圆圈,以实现更典型的热图外观,但是考虑到我在移动设备上执行此操作,这会影响性能- 渲染每个放大或缩小操作。

【问题讨论】:

  • 你有什么级别的数据?您只是想改善指示单个点的标记的外观,还是您有关于多个点的频率的信息?
  • 不,我没有多分,这纯粹是从外观的角度来看。在圆圈后面添加一个额外的叠加层就足以实现更好的“外观”,我只是想避免开销。我想阅读绘图类库可能是最好的方法。
  • 呃什么?我不能在我的 Android 版 Google 地图 v2 上做这样的事情 - Circle 没有 setShader 方法 - 你能解释一下你在做什么吗?

标签: java android android-mapview heatmap


【解决方案1】:

这里有一些明显的选择,我相信还有更多不明显的方法可以做到这一点:

很遗憾,我不知道这些选项中的哪一个可以为您带来最佳性能,因此您可能必须自己测试它们。我怀疑,对于大量的热图点,后两个选项之一会更有效,但这只是猜测。

【讨论】:

  • 感谢您的回复,我去探索一下:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-23
  • 2014-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-19
  • 1970-01-01
相关资源
最近更新 更多