谷歌地图V2安卓,地图是黑色的

时间:2013-08-30 12:54:33

标签: android google-maps map

我的谷歌地图有问题。当我第一次执行我的应用程序时,地图正常显示我,但是当我关闭并再次执行时,地图的屏幕是黑色的。 我不知道会发生什么,但当我清理我的应用程序的所有数据时,地图再次显示。

第一次:

enter image description here

第二次(当我关闭应用程序并再次执行时)

enter image description here

我正在使用带有androidx86项目的虚拟框

你能帮助我吗?

我的代码,我设置地图:

private void setUpMapIfNeeded() {
        if (map == null) {
            map = ((SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
        }
            if (map != null) {
                try{
                    map.setMyLocationEnabled(true);
                    map.setOnMyLocationButtonClickListener(this);
                    map.setOnMapLongClickListener(this);
                    map.setOnMarkerClickListener(this);
                    map.setOnMapClickListener(this);
                    map.setOnCameraChangeListener(this);
                    LocationManager locationManager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE);
                    Criteria criteria = new Criteria();
                    String provider = locationManager.getBestProvider(criteria, true);
                    Location location = locationManager.getLastKnownLocation(provider);
                    if(location!=null){
                        double latitude = location.getLatitude();
                        double longitude = location.getLongitude();
                        LatLng latLng = new LatLng(latitude, longitude);
                        //ThreadMostraImoveisJson(latLng);
                        onLocationChanged(location);
                    }           
                }
                catch (Exception ex){
                    Log.e("Erro Mapa", "Erro Setar Mapa: "+ex.getMessage());
                }
            }
    }

我的Xml:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mapHost"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">
<fragment
      android:id="@+id/map"
       android:name="com.google.android.gms.maps.SupportMapFragment"
       android:layout_width="match_parent"
       android:layout_height="match_parent" >
</fragment>
   <LinearLayout 
    android:id="@+id/layPesquisa"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#f4f4f4"
    android:orientation="horizontal"
    android:layout_gravity="right">

    <Button
        android:id="@+id/btnPesquisa"
       android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="OK" />

    <EditText
        android:id="@+id/edtPesquisa"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="invisible"
         android:text="" 
     />

</LinearLayout>
</FrameLayout>

3 个答案:

答案 0 :(得分:3)

答案 1 :(得分:1)

在邮件线程上找到此问题的简便解决方法。这解决了我的问题。使用相对布局并将此透明视图直接放在地图片段上。示例:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

    <fragment
      android:id="@+id/map"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      class="com.google.android.gms.maps.SupportMapFragment"/>

    <View
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:background="@android:color/transparent" />
</RelativeLayout>

答案 2 :(得分:1)

我遇到了MapFragment显示黑色的问题。在我使用的AndroidManifest中:

<supports-screens
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:anyDensity="false" />

将anyDensity设置为false会使其显示为黑色。我把它重新设置为真,它对我有用