Android 的 Google Maps api v2 提供了一个可以添加 TileProvider 的 TileOverlay。给定纬度、经度和深度,TileProvider 将生成一个 Tile 对象。为了制作一个图 block ,必须给它宽度(简单)、高度(简单)和一个表示为字节数组的图像(让我感到困惑)。如果我想“绘制”一个简单的对象,然后将其转换为字节数组,我该怎么做?
例如我正在寻找看起来像的东西
Canvas canvas = new canvas();
...
canvas.drawRect(); //Or something like this (just an example)
...
byte[] bytes = canvas.SomeConversionFunctionOrProcessThatIDontKnow();
return new Tile(1,1,bytes);
最佳答案
public byte[] getByteArray (String image) throws IOException {
File yourImg = new File(image);
BufferedImage bufferedImage = ImageIO.read(yourImg);
WritableRaster wRaster = bufferedImage .getRaster();
DataBufferByte data = (DataBufferByte) wRaster.getDataBuffer();
return data.getData();
}
这应该可以解决问题; )
关于java - 如何在 Android 谷歌地图中制作自定义 Tiles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17202241/