其他分享
首页 > 其他分享> > 影响Android Maps TileProvider中的平铺大小?

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

作者:互联网

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

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

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

The coordinates of the tiles are measured from the top left (northwest) corner of the map. At zoom level N, the x values of the tile coordinates range from 0 to 2N – 1 and increase from west to east and the y values range from 0 to 2N – 1 and increase from north to south.

但你可能会猜到实际上有这样的功能来看Constructors documentation

Constructs a Tile.

Parameters
width the width of the image in pixels
height the height of the image in pixels
data A byte array containing the image data. The image will be created from this data by calling decodeByteArray(byte[], int, int).

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

我的目标是让我的瓷砖大约10dp的屏幕.因此我再次向你提问:

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

解决方法:

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

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

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

标签:android,google-maps,google-maps-api-2,google-maps-android-api-2,android-maps
来源: https://codeday.me/bug/20190709/1409505.html