2012-08-01 49 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