【问题标题】:Google Maps is showing an error on compile谷歌地图在编译时显示错误
【发布时间】:2016-04-28 03:09:56
【问题描述】:

当我尝试编译我的 APK 时,我收到以下错误:

mMapFragment = new SupportMapFragment() {

“ValidFragment”类型问题的解释: 从片段文档: 每个片段必须有一个空的构造函数,所以它可以被实例化 恢复其活动状态时。强烈建议 子类没有其他带参数的构造函数,因为这些 重新实例化片段时不会调用构造函数; 相反,调用者可以使用 setArguments(Bundle) 提供参数 然后由 Fragment 使用 getArguments() 检索。

感谢任何帮助。

我猜这是导致该错误的原因:

这是在一个片段中:

 mMapFragment = new SupportMapFragment() {

            @Override
            public void onActivityCreated(Bundle savedInstanceState) {
                super.onActivityCreated(savedInstanceState);

           }
        };

Logcat 不显示任何东西..

谢谢

【问题讨论】:

  • 在声明您的谷歌地图时将您的 logcat 和相关代码放在这里
  • 您是否在谷歌开发者控制台中为谷歌地图生成了正确的 API 密钥?

标签: android google-maps android-fragments


【解决方案1】:

请仔细检查您的代码实现:

SupportMapFragment

应用中的地图组件。这个片段是在应用程序中放置地图的最简单方法。它是地图视图的包装器,可自动处理必要的生命周期需求。作为一个片段,这个组件可以通过下面的 XML 简单地添加到一个活动的布局文件中。

必须使用getMapAsync(OnMapReadyCallback) 获取GoogleMap。此类自动初始化地图系统和视图。 当调用 SupportMapFragment 的 onDestroyView() 方法并设置 useViewLifecycleInFragment(boolean) 选项时,可以删除视图。发生这种情况时,SupportMapFragment 将不再有效,直到稍后在调用 SupportMapFragment 的 onCreateView(LayoutInflater, ViewGroup, Bundle) 方法时再次重新创建视图。

GoogleMap 获得的任何对象都与视图相关联。重要的是不要抓住视图生命之外的对象(例如Marker)。否则会导致视图无法释放,导致内存泄漏。

要使用此类,您必须在构建路径中包含 Android 支持库。

您还可以查看这些 SO 问题的答案:How to put Google Maps V2 on a Fragment Using ViewPagerAdd Google Maps API V2 in a fragment

【讨论】:

    猜你喜欢
    • 2011-08-11
    • 2013-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多