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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.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 google地图缩放时的平铺覆盖更新_Android_Google Maps - Fatal编程技术网

Android google地图缩放时的平铺覆盖更新

Android google地图缩放时的平铺覆盖更新,android,google-maps,Android,Google Maps,我在Android谷歌地图上有一个平铺覆盖。一切正常。但是当我放大时,所有的图块都消失了,然后下载新的图块,只有在1-2秒后(当下载新的图块时),地图才会显示它们。因此,地图在一段时间内不显示分幅。是否有办法仅在下载新的互动程序时更新互动程序 我使用基本的UrlTileProvider和Aeris叠加贴图 无论如何,您可以使用库(或单独的线程或异步任务)等本地内部或外部存储,并确定“手动下载所有新磁贴”事件(例如,在每个public void onSuccess()上增加已下载磁贴计数器)对于毕

我在Android谷歌地图上有一个平铺覆盖。一切正常。但是当我放大时,所有的图块都消失了,然后下载新的图块,只有在1-2秒后(当下载新的图块时),地图才会显示它们。因此,地图在一段时间内不显示分幅。是否有办法仅在下载新的互动程序时更新互动程序

我使用基本的UrlTileProvider和Aeris叠加贴图

无论如何,您可以使用库(或单独的
线程
异步任务
)等本地内部或外部存储,并确定“手动下载所有新磁贴”事件(例如,在每个
public void onSuccess()上增加已下载磁贴计数器)
对于毕加索或
受保护的void onPostExecute()
对于
异步任务
或在
公共void run()结束时运行(
对于
线程
并等待等于所有磁贴数量),然后用于下载的磁贴本地存储,如回答中所示

更新

当zoom+1级别的分幅仍在下载时,可以使用当前地图视图的屏幕截图创建上一张地图。谷歌地图的屏幕截图,你可以在回答问题时这样做

更新#2

有几种方法可以解决您的问题:1)您可以创建自定义视图,它可以像answer中那样扩展
MapView
类,并显示在覆盖的
dispatchDraw()中
方法任何您想要的方法或2)您可以在
地图视图上设置
ImageView
,并在缩放更改和加载新分幅时显示屏幕截图。如有必要,您可以将点击事件从
ImageView
转换为
MapView


我更喜欢p.1-创建基于
MapView
的自定义视图,覆盖
dispatchDraw()
,并在加载新地图时在其中显示临时地图。

您是否发现我有同样的问题?我已经在本地下载了磁贴,问题仍然存在,基本上,当我缩放到下一个级别时,谷歌地图会突然从屏幕上移除当前的分幅,并显示空屏幕。之后,需要大约一秒钟的时间在本地加载下一个磁贴并显示它们。这对于用户使用下载的磁贴创建地面覆盖来说是一种烦人的体验。我的磁贴是从本地存储加载的,如果你尝试放大谷歌地图应用程序=>该应用程序会一直放大当前磁贴图像,直到加载下一个缩放磁贴为止。我担心我的问题没有解决方案:(((