影响Android Maps TileProvider中的平铺大小?

时间:2013-06-10 11:58:27

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

我一直在使用Android Maps v2中的TileOverlay,我构建的自定义TileProvider非常类似于this one

但有些事情让我感到奇怪。无论我传递给Tile构造函数的是哪个数字,屏幕上的图像总是相同的 - 4到9个Tiles共享屏幕空间,如下所示:

enter image description here

当然,这是您在阅读documentation时所期望的:

  

瓷砖的坐标是从地图的左上角(西北角)测量的。在缩放级别N处,图块坐标的x值范围从0到2N-1并且从西向东增加,y值的范围从0到2N-1并且从北向南增加。

但你可能会猜到 实际上是通过查看Constructors documentation

来实现这样的功能
  

构建一个平铺。

参数
  宽度图像的宽度(以像素为单位)   高度图像的高度,以像素为单位   数据包含图像数据的字节数组。将通过调用decodeByteArray(byte [],int,int)从该数据创建映像。

显然我在这里误解了一些东西。我的个人猜测是瓷砖必须覆盖整个“地图瓷砖”,因此不能缩小

我的目标是让我的瓷砖围绕屏幕的10dp。因此,我再次向你提问:

我可以通过TileOverlay实现这一点,还是最终会使用自定义Marker

1 个答案:

答案 0 :(得分:1)

构造函数中指定的切片大小是您要提供给地图的(每个)位图切片的大小。如果您有这样的资源,这允许您为不同的屏幕提供不同密度的图块。 它将更改地图上绘制的图像的大小。地图图块的物理大小由缩放级别定义,其中缩放级别0是覆盖整个世界的单个图块,1是2x2图块等。这是地图图块的开放Web地图标准的一部分,而不是由Google定义。

API文档: https://developers.google.com/maps/documentation/android/tileoverlay

价: http://www.maptiler.org/google-maps-coordinates-tile-bounds-projection/