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 地图分幅在地形和法线类型之间闪烁_Android_Google Maps_Google Maps Android Api 2_Google Play Services - Fatal编程技术网

Android 地图分幅在地形和法线类型之间闪烁

Android 地图分幅在地形和法线类型之间闪烁,android,google-maps,google-maps-android-api-2,google-play-services,Android,Google Maps,Google Maps Android Api 2,Google Play Services,我有一个谷歌地图v2应用程序。渲染期间,贴图分幅在地形类型和法线类型之间闪烁。您可以在下面的屏幕截图中看到平铺边界。每个瓷砖似乎在两种类型之间闪烁,然后固定在一种类型上 平移或缩放会再次触发整个闪烁。有些瓷砖似乎比其他瓷砖更容易闪烁,但这是不可预测或一致的 地图设置为“地形类型”: map.setMapType(MAP_TYPE_TERRAIN); 这在我的安卓4.1手机和安卓4.4 Nexus7上都会发生。我最近才注意到它,所以它可能是在谷歌Play服务(目前使用的是update 13)的

我有一个谷歌地图v2应用程序。渲染期间,贴图分幅在地形类型和法线类型之间闪烁。您可以在下面的屏幕截图中看到平铺边界。每个瓷砖似乎在两种类型之间闪烁,然后固定在一种类型上

平移或缩放会再次触发整个闪烁。有些瓷砖似乎比其他瓷砖更容易闪烁,但这是不可预测或一致的

地图设置为“地形类型”:

 map.setMapType(MAP_TYPE_TERRAIN);
这在我的安卓4.1手机和安卓4.4 Nexus7上都会发生。我最近才注意到它,所以它可能是在谷歌Play服务(目前使用的是update 13)的最后一次更新中出现的。升级到update 15没有任何区别,闪烁仍在继续

以前有人见过这种行为吗


编辑:从google play services v16开始,该问题已得到修复

可悲的是,这是一个问题,我希望它可能很快就会得到解决;话虽如此,但仍存在一些问题

根据此问题,您可以通过手动设置
TileOverlay
并使用
clearTileCache()
来避免闪烁。明确的警告是,在整个时刻,你失去了所有的数据,可能会看到空白,清除缓存是在现场,不会考虑特定的部分或清除只有在新的获取。 文件说明:

平铺提供程序提供平铺覆盖中使用的图像。在将平铺提供程序添加到地图之前,必须指定该提供程序。添加互动程序提供程序后,无法对其进行更改;但是,您可以修改磁贴提供程序的行为,以针对特定坐标返回不同的图像。如果互动程序提供程序提供的互动程序发生更改,则必须在之后调用clearTileCache(),以确保不再渲染以前的互动程序


如果可行,另一种选择是使用OpenStreetMap作为地图的覆盖/源。

我过去也遇到过一些类似的问题。在向左滑动地图的过程中,地图本身开始闪烁。最后,我们不得不在整个地图上放置一个不可见的
线性布局
,将焦点放在它上面,并在过渡后将其移除。(我找不到相关的博客帖子)。可能无法解决您的问题,但只是为了记录……如果这只是针对您的应用程序,我建议您在地图中添加ViewTreeObserver,并在其中更改地图类型。如果这个问题从内部持续存在,我不认为你的问题来自你的软件。不过,如果一切顺利的话。。。你可能做错了什么。你能添加与地图相关的代码吗?这似乎是谷歌地图的内部错误。我见过这种行为,但只在糟糕的互联网和调试过程中出现过。你能确认这两件事现在不是这样吗?