安卓Google Maps v2,MAP_TYPE_NONE和黑色方块

8

我一直在苦苦挣扎谷歌地图v2和自定义瓦片。虽然它正常工作,但我们经常在谷歌地图上看到黑色方块,这非常影响使用。

我可以通过简单地执行以下操作重现该问题:

mapFragment = new MapFragment() {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
        mapFragment.getMap().setMapType(GoogleMap.MAP_TYPE_NONE);
    }
};

FragmentTransaction trans = getFragmentManager().beginTransaction();
trans.replace(R.id.map, mapFragment);
trans.commit();

我使用了这段代码和一个标准的活动以及一个帧布局。如果我在Nexus4上缩放到足够远,背景会变黑。如果我在其上放置瓷砖,我会看到随着缩放的进行,黑色闪烁
我已经看过很多解决方法,但是似乎没有一个能完全解决这个问题。它似乎只会发生在某些缩放级别上,但是我(A)需要这些缩放级别,而且(B)似乎不能限制缩放(也不想构建自定义捏合缩放实现)。
我已经尝试了一些自定义瓷砖提供者的测试。使用MAP_TYPE_NONE、一个简单返回1像素蓝色瓷砖的瓷砖提供者和我的正常地图瓷砖提供者,我可以在视觉上看到地图从黑色 -> 蓝色 -> 我的地图变化。即使我的自定义蓝色瓷砖提供者立即返回1像素的蓝色瓷砖。

请注意,要查看此内容,您需要将视图背景设置为非黑色。我们一直在使用 Android 主题 Holo Light。 - neuron
你的意思是,你没有得到地图图像,只得到了网格对吗? - Pratik Butani
首先屏幕会闪烁一下,然后出现网格,最后显示地图图像。 - neuron
请问您能否在问题中提供您所尝试过的解决方法的链接,以便我们查看?谢谢。 - avalancha
1个回答

1
这个问题和移动地图视图时出现的黑色矩形在几个月前就已经被报告,并且现在已经得到了谷歌的修复。不幸的是,这个修复只适用于兼容设备,并且由于它是一个新的修复,可能会在“修复”设备上引入新的错误,并在其他设备上保留旧的错误(有点不同)。我认为没有必要在这里复制谷歌的错误跟踪器中的对话,因为它是完全公开的: https://code.google.com/p/gmaps-api-issues/issues/detail?id=4659

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接