Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
影响Android Maps TileProvider中的磁贴大小?_Android_Google Maps_Google Maps Android Api 2_Android Maps_Google Maps Api 2 - Fatal编程技术网

影响Android Maps TileProvider中的磁贴大小?

影响Android Maps TileProvider中的磁贴大小?,android,google-maps,google-maps-android-api-2,android-maps,google-maps-api-2,Android,Google Maps,Google Maps Android Api 2,Android Maps,Google Maps Api 2,我一直在Android Maps v2中使用TileOverlay,我已经构建了一个定制的TileProvider,非常类似于 但有一件事让我觉得很奇怪。无论我将哪个数字传递给Tile构造器,屏幕上的图像总是相同的-4到9个Tile均匀地共享屏幕空间,如下所示: 当然,这是您在阅读以下内容时所期望的: 瓷砖的坐标从地图的左上角(西北角)开始测量。在缩放级别N,平铺坐标的x值范围为0到2N-1,从西到东增加,y值范围为0到2N-1,从北到南增加 但是,您可能会从查看 构建一个平铺参数 宽度以像素

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

但有一件事让我觉得很奇怪。无论我将哪个数字传递给
Tile
构造器,屏幕上的图像总是相同的-4到9个Tile均匀地共享屏幕空间,如下所示:

当然,这是您在阅读以下内容时所期望的:

瓷砖的坐标从地图的左上角(西北角)开始测量。在缩放级别N,平铺坐标的x值范围为0到2N-1,从西到东增加,y值范围为0到2N-1,从北到南增加

但是,您可能会从查看

构建一个平铺

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

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

我的目标是使我的互动程序在屏幕的
10dp
左右。因此,我再次向你们提出以下问题:


我可以通过
平铺
实现这一点吗?或者我最终会使用自定义
标记
s吗?

构造函数中指定的平铺大小是您提供给地图的(每个)位图平铺的大小。如果您有这样的资源,这允许您为不同的屏幕提供不同密度的磁贴。 它不会改变在地图上绘制的图像的大小。地图分幅的物理大小由缩放级别定义,其中缩放级别0表示覆盖整个世界的单个分幅,1表示2x2分幅,等等。这是地图分幅的开放式web地图标准的一部分,不由Google定义

API文档:

参考:

你解决问题了吗?没有,对不起,我现在知道我可以用
标记器
s做我想做的事情,但是关于
瓷砖
s的一般问题仍然不清楚。你也可以简单地用地面覆盖来做。你的问题是什么?大多数磁贴提供程序使用的默认磁贴大小为256x256px。磁贴应具有256dp X 256dp,但构造函数希望具有该值的px值。我没有找到任何文档,但是从我的测试中,没有真正使用任何其他值,图像最终被放大到适合256dp。这是正确的答案。在提出问题几个月后,得到一个而不是一个变通办法,这真是太好了+1.