【发布时间】:2013-06-10 11:58:27
【问题描述】:
我一直在使用 Android Maps v2 中的TileOverlay,并且我构建了一个自定义的TileProvider,与this one 非常相似
但有一点让我觉得很奇怪。无论我将哪个数字传递给Tile 构造函数,屏幕上的图像始终相同 - 4 到 9 个 Tiles 均匀地共享屏幕空间,如下所示:
当然,这是您阅读documentation 所期望的:
图块的坐标是从地图的左上角(西北)测量的。在缩放级别 N 时,瓦片坐标的 x 值范围从 0 到 2N - 1,从西向东增加,y 值从 0 到 2N - 1,从北到南增加。
但您可能会从Constructors documentationConstructors documentation 中猜到 实际上有这样的功能
构造一个图块。
参数
width图片的宽度(以像素为单位)
height图片的高度(以像素为单位)
数据 包含图像数据的字节数组。将通过调用 decodeByteArray(byte[], int, int) 从此数据创建图像。
很明显我在这里误解了一些东西。我个人的猜测是瓷砖必须覆盖整个“地图瓷砖”,因此不能缩小
我的目标是让我的图块在屏幕上大约10dp。因此,我再次向您提出问题:
我可以使用TileOverlay 实现这一点,还是我最终会使用自定义Markers?
【问题讨论】:
-
你解决问题了吗?
-
不,抱歉,我现在知道我可以用
Markers 做我想做的事,但是关于Tiles 的一般问题还不清楚 -
你也可以简单地使用地面覆盖来做到这一点
-
你有什么问题?大多数图块提供商使用的默认图块大小是 256x256px
-
Tile 应该有 256dp X 256dp,但构造函数希望有 px 值。我没有找到任何文档,但从我的测试来看,没有真正使用任何其他值,并且图像最终被缩放以适合 256dp
标签: android google-maps google-maps-android-api-2 android-maps google-maps-api-2