【发布时间】:2018-09-03 02:23:41
【问题描述】:
我最近在 android studio 中使用 google maps API 创建了一个带有热图的 android 应用。我使用下面的代码来创建渐变。我得到一个显示正方形的结果?为什么我会得到这个结果?需要帮助。
int[] colors = {
Color.GREEN, // green
Color.YELLOW, // yellow
Color.rgb(255,165,0), //Orange
Color.RED, //red
Color.rgb(153,50,204), //dark orchid
Color.rgb(165,42,42) //brown
};
float[] startpoints = {
0.0f, //0-50
0.1f, //51-100
0.2f, //101-150
0.3f, //151-200
0.4f, //201-300
0.6f //301-500
};
private ArrayList addheatmap() {
ArrayList<WeightedLatLng> arr = new ArrayList<>();
arr.add(new WeightedLatLng(new LatLng(9.9252, 78.119),10)); //madurai
arr.add(new WeightedLatLng(new LatLng(10.7905, 78.7047),60)); //trichy
arr.add(new WeightedLatLng(new LatLng(13.0827, 80.2707),180)); //chennai
arr.add(new WeightedLatLng(new LatLng(11.0168, 76.9558),270)); //coimbatore
arr.add(new WeightedLatLng(new LatLng(11.7863, 77.8008),380));
arr.add(new WeightedLatLng(new LatLng(11.7480, 79.7714),190));
arr.add(new WeightedLatLng(new LatLng(8.7642, 78.1348),299));
arr.add(new WeightedLatLng(new LatLng(11.6643, 78.1460),398));
Log.e("adding heatmap","yes");
return arr;
}
private void buildheatmap(){
Gradient gradient = new Gradient(colors,startpoints);
heatmapTileProvider = new HeatmapTileProvider.Builder()
.weightedData(addheatmap())
.radius(20)
.gradient(gradient)
.build();
TileOverlayOptions tileoverlayoptions = new TileOverlayOptions().tileProvider(heatmapTileProvider);
TileOverlay tileoverlay = googleMap.addTileOverlay(tileoverlayoptions);
tileoverlay.clearTileCache();
Toast.makeText(this,"added heatmap",Toast.LENGTH_SHORT).show();
}
我使用上述颜色数组和起点数组为 HeatMapTileProvider 创建渐变。 为什么我会变成方形的结构,以及如何让它们变成圆形的结构?谢谢你
【问题讨论】:
标签: android android-studio google-maps-api-3 heatmap