java - 如何在 Android 谷歌地图中制作自定义 Tiles

标签 java android google-maps-android-api-2

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/

相关文章:

java - Tomcat的服务器状态登录问题

java - Apache POI克隆风格和获取风格的区别

java - 更好的包装和命名安排是什么?

android - 当 ViewPager 中的 Fragment 从 BackStack 中保留时 WebView 重新加载

android - 无法为 'ffmpeg' 找到合适的输出格式

android - 在不添加新标记的情况下更新标记的位置

Java:将电子邮件发送到非 ASCII 电子邮件地址

android - 在 Android 中的单个菜单项中实现三个操作

android - X,Y 图像坐标旋转到纬度和经度

android - 如何使用群集标记在谷歌地图标记 A-Z 中添加字母