我正在创建一个基于GPS位置绘制HeatMap的应用程序。我想为每个GPS点绘制具有固定半径的固定颜色。我能够按预期看到每个点的图形,但是,如果在单个点上重复相同的GPS坐标,则会影响其他点,使它们失去强度/不透明度。
这是我得到的结果的一个示例:
在图片1中,我正在使用的数据是:
在第2张图片中,唯一不同的是GPS坐标:“ 40.629215,-8.654973”重复了5次。其余坐标完全相同:
这是我用来实现此目的的代码:
private GoogleMap myGoogleMap;
private HeatmapTileProvider myHeatMapProvider;
public void run() {
if (myGoogleMap == null) {
return;
}
ArrayList<LatLng> LatLon = new ArrayList<LatLng>();
LatLon = getLocations(); //This ArrayList gets the Lat and Long coordinates
int[] green = {Color.rgb(128, 255, 0)}; //green color
float [] startPoints ={1f};
Gradient gGreen = new Gradient(green, startPoints);
if (LatLon.size() > 0) {
myHeatMapProvider = new HeatmapTileProvider.Builder()
.data(LatLon)
.radius(30)
.opacity(1.0)
.gradient(gGreen)
.build();
}
myGoogleMap.addTileOverlay(new TileOverlayOptions().tileProvider(myHeatMapProvider));
}
有人对此有任何想法吗?
谢谢。