谷歌地图在恢复申请后没有响应



我正在使用 api v2 在谷歌地图上工作,我添加了代码来显示地图并且可以工作,但我有两个问题,1.当显示地图然后设备被锁定时,解锁设备后调用片段的 onResume() 并且地图片段没有响应(我无法滚动或缩放它)。2.我在同一视图上也有一个按钮,点击该按钮打开邮件 intent.so 应用程序暂停,之后当用户移动到应用程序地图片段时是黑色的并且地图没有加载。

我已经尝试按照堆栈溢出帖子的建议设置android:hardwareAccelerated="false",但它对我不起作用。

我在oncreate中的代码是-

map = ((SupportMapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
MarkerOptions marker = new MarkerOptions();
marker.position(myPosition);
marker.title(myTitle);
Marker locationMarker = map.addMarker(marker);
locationMarker.showInfoWindow();
map.moveCamera(CameraUpdateFactory.newLatLngZoom(myPosition, 15));
map.animateCamera(CameraUpdateFactory.zoomTo(15), 2000, null);

我也尝试使用-

ViewGroup parent = (ViewGroup) v.getParent();
 if (parent != null)
     parent.removeView(v);

并且还在我的 mapFragment 的 onResume() 中使用了以下代码 -

SupportMapFragment fragments  = ((SupportMapFragment) getFragmentManager().findFragmentById(R.id.map));
if(fragment!=null){
   FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
       ft.remove(fragments);
       ft.commit();
}

请帮助我在哪里失踪。

创建一个私有函数,

private void initilizeMap() {
    if (map == null) {
        map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
                R.id.map)).getMap();
        // check if map is created successfully or not
        if (map == null) {
            Toast.makeText(getApplicationContext(),
                    "Sorry! unable to create maps", Toast.LENGTH_SHORT)
                    .show();
        }
    }
}
@Override
protected void onResume() {
    super.onResume();
    initilizeMap();
}

相关内容

  • 没有找到相关文章

最新更新