Android 为TileProvider动态创建互动程序

Android 为TileProvider动态创建互动程序,android,heatmap,tile,Android,Heatmap,Tile,我想在Android上创建一个热图,并试图生成一个用getTile返回的图块,但找不到任何关于从复制多次的较小图像动态生成大型图像的内容。有这方面的教程或代码片段吗 另外,如果这不是解决问题的方法,也请告诉我。由于我正在动态生成互动程序,因此无法使用urlprovider,因此我找不到一个动态生成互动程序的示例。如果要通过剪切、调整大小等方式从另一个位图创建位图,您需要使用画布: Canvas canvas = new Canvas(resultBitmap); //Result Bitmap

我想在Android上创建一个热图,并试图生成一个用getTile返回的图块,但找不到任何关于从复制多次的较小图像动态生成大型图像的内容。有这方面的教程或代码片段吗


另外,如果这不是解决问题的方法,也请告诉我。由于我正在动态生成互动程序,因此无法使用urlprovider,因此我找不到一个动态生成互动程序的示例。

如果要通过剪切、调整大小等方式从另一个位图创建位图,您需要使用画布:

Canvas canvas = new Canvas(resultBitmap); //Result Bitmap will be what you end up drawing.
canvas.drawBitmap(otherBitmap, areaFromOtherBitmapToCopyRect, areaInResultBitmapToDrawRect, paint);
第二个和第三个参数是源位图(从中复制部分或整个图像)和结果位图(向其中绘制图像)中的矩形

但是,如果您正在绘制热图,您可能会发现只绘制颜色的小矩形比复制其他位图更容易(这在计算上更难)。 使用相同的方法创建画布,但不调用drawBitmap,而是调用drawRect:

Paint redPaint = new Paint();
redPaint.setColor(0xFFFF0000); //This will be red. The 1st FF is for alpha.
canvas.drawRect(someAreaInTheResultRect, redPaint);
剩下的就是根据热图中区域的值来处理颜色,处理位置(通过正确生成矩形,您就完成了:)

希望这有帮助