2012-08-01 82 views
2

Android SDK中2.3.3 谷歌地图V2热图 - 生成简单“HeatPoint”谷歌地图的Android

目前我画圆覆盖,并将它们添加到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); 

它的工作原理,但我更喜欢边缘看起来更像经典的加点图。

当前

current heat map

我想达成什么(我还是很喜欢的形状是圆形的)

desired heat map

我在想可能绘制直接在当前的下方以略微更大的面积环绕,以便实现更典型的热图外观,但是这具有性能影响,考虑到我在需要重新布线的移动设备上这样做呃每次放大或缩小动作。

+1

你有什么级别的数据?你只是试图改善指示个别点的标记的外观,还是你有关于多点频率的信息? – Computerish 2012-08-01 15:54:42

+0

Nah我没有多点,这纯粹是从外观的角度来看。在圆圈后面添加额外的覆盖图将足以实现更好的“外观”,我只是想避免开销。我想读绘图类库可能是最好的方法。 – Ash 2012-08-01 16:20:27

+0

呃什么?在Android版谷歌地图v2上我无法做到这一点 - Circle没有setShader方法 - 您能解释一下您的操作吗? – 2013-10-04 15:26:20

回答

0

有几个明显的选择这里,我敢肯定还有更多的非明显的方式做到这一点还有:

不幸的是,我不知道这些选项中的哪一个可以为您提供最佳性能,因此您可能需要自己测试它们。我怀疑,对于大量的热点图,稍后的两个选项之一会更有效,但这只不过是一种猜测而已。

+0

感谢您的回复,我会探讨:) – Ash 2012-08-01 20:43:48