【发布时间】:2015-02-10 13:12:03
【问题描述】:
Google Play Services 6.5 添加了getMapAsync 方法,它允许我们异步检索支持MapFragment(或MapView)的GoogleMap 对象。该文档指出
回调提供的 GoogleMap 对象不为空。
我不太了解这里为什么需要异步检索(即,什么情况会导致已弃用的getMap 方法返回null),这导致我提出以下问题:
当使用MapFragment 时,我是否应该在onCreate 中调用一次getMapAsync,存储回调返回的(非空)GoogleMap,然后在我班级的其他任何地方引用这个存储的结果? 或者,我是否应该在每次需要与GoogleMap 对象交互时调用getMapAsync,并在相应的回调中进行所有与地图相关的工作?
第一个选项导致代码更紧凑,所以如果可能的话,我更愿意使用它。我存储的GoogleMap 对象是否存在“过时”或null 的风险(在这种情况下,第二个选项会更安全)?
【问题讨论】:
标签: android google-maps google-play-services android-maps-v2