2011-07-21 113 views
1

我已经建立了一个android应用程序,它有一个单独的mapview。Android的mapview部分加载瓷砖

我有一个地图视图有时会遗漏瓷砖的错误。地图视图并非完全空白,有些图块出现,但不是全部。这里的所有答案都与API密钥有关,或与在一个应用中使用多个地图视图有关的问题。这不是问题。

它会间歇性地发生,大约每五次就有一次我在清除应用程序中的所有数据后启动应用程序。所以它典型的在新装置上出现。

它只出现在Android 2.2设备(三星Galaxy S肯定)

注意日志显示:

07-21 17:11:52.274: INFO/MapActivity(25951): Handling network change notification:CONNECTED 
07-21 17:26:25.629: ERROR/MapActivity(26064): Couldn't get connection factory client 

当瓷砖无法加载放大和缩小或重新启动不刷新瓷砖。唯一的解决方案是去设置 - >管理应用程序 - > [选择应用程序] - >清除数据,然后重新启动应用程序。

任何人之前看到过这个,并知道原因或解决方法?

干杯。

+0

这是一个奇怪的,唯一一次我看到一个API密钥的问题,它显示没有瓷砖,而不是部分瓷砖。更改通知意味着您正在改变网络接入点,例如从CDMA/GMRS到WIFI或WIFI到WIFI网络。如果你解决这个问题,我会感兴趣 – Idistic

+0

其实我很遗憾地提到我没有答案,但我也有同样的问题..在三星Galaxy S以及Android 2.2上。然而,这看起来很奇怪,它是特定于设备的。 这很可能是mapview中的一个错误。 – Ophidian

+0

我是三星银河551的拥有者,我面临着手机分辨率的问题。如果api不是问题,那么您使用该应用程序的区域可能无法捕捉到适当的GPS网络。我是这样说的,因为我面临类似的问题,最终创建了三个新的API密钥,最终离开我的建筑解决了我的问题 –

回答

2

我可以猜测,你可以看到部分瓷砖,所以可能是你的互联网连接问题。 检查您的互联网连接天气,如果您尝试在模拟器中运行您的应用程序,则在设备中检入设备,并在模拟器中显示3G图标。

我发现了和你一样的问题,因为当我连接地图的某些部分时,我又打开了一次,当时我还没有上网,所以我在地图上找到了部分贴图,第一次。我已经连接到互联网,然后再试一次,然后我的问题解决了地图显示正常。

+0

当设备有有效的Internet连接时,我在设备上看到此问题。 – railwayparade

2

建议

public class yourCustomMapView extends MapView{ 
    public abstract void invalidateDrawable (Drawable who){ 
     super.invalidateDrawable(who); 
     //try to catch the error here: 
     //My Guess is the following: 
     if(who.getTransparentRegion!=null){ 
      //DO SOMETHING 
      //You would delete the cache and reload 
      //Try Reloading the image only 
     } 
    } 
} 

删除缓存编程

这是比较容易的部分。你将有手动删除与你的应用程序相关的所有数据库和文件。在删除之前,不要忘记关闭数据库和文件流。这是,如果事实证明你的来清除缓存

+0

我会给这个去回贴,欢呼 – railwayparade

+0

如何删除缓存并重新加载它,以及如何重新加载图像? – Laszlo

0

如果网络连接不正确,可能会发生这种情况。我的意思是如果网络提供商方面有任何问题。它也发生在我身上。过一段时间后再运行应用程序。我希望它可以解决问题。