谷歌地图在Play商店中工作,但在开发中不起作用

问题描述:

我目前正致力于改进现有的Android应用程序,该应用程序可在地区中映射不同类型的树木。谷歌地图在Play商店中工作,但在开发中不起作用

当应用程序从Google Play商店下载时,地图工作正常。然而,当我在Android Studios上工作时,它只是显示灰色屏幕。

我从谷歌API密钥,并把它放在google_maps_api.xml

这是我如何初始化地图:

if (savedInstanceState != null) { 
     mMapFragment = (MapFragment) myFragmentManager.findFragmentByTag("map_tag"); 

     mMapFragment.getMapAsync(new OnMapReadyCallback() { 
      @Override 
      public void onMapReady(GoogleMap googleMap) { 
       mMap = googleMap; 

       setUpMap(); 
      } 
     }); 
     myFragment = (ControlClass) myFragmentManager.findFragmentByTag("control_tag"); 
     fragmentTransaction.commit(); 
     //mMap=mMapFragment.getMap(); 

    } else { 

     mMapFragment = MapFragment.newInstance(); 
     fragmentTransaction.add(R.id.map, mMapFragment, "map_tag"); 

     useGPS = true; 

     mMapFragment.setRetainInstance(true); 
     myFragment = new ControlClass(); 
     fragmentTransaction.add(R.id.myfragment, myFragment, "control_tag"); 
     fragmentTransaction.commit(); 

     mMapFragment.getMapAsync(new OnMapReadyCallback() { 
      @Override 
      public void onMapReady(GoogleMap googleMap) { 
       mMap = googleMap; 

       setUpMap(); 
       //handleNewLocation(lastKnownPosition); 

      } 
     }); 

    } 

这些都是我用我的AndroidManifest权限:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

这是我的地图活动布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:tools="http://schemas.android.com/tools" 
      android:id="@+id/layout_root_view" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:orientation="vertical" 
      tools:context=".MainActivity"> 

<LinearLayout 
    android:id="@+id/myfragment" 
    android:layout_height="wrap_content" 
    android:layout_width="match_parent" 

    android:orientation="vertical"/> 

<LinearLayout 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 

    android:orientation="vertical"/> 

任何帮助将不胜感激!

+0

看起来你有这个问题的相反问题在这里:https://stackoverflow.com/questions/30559602/android-studio-google-map-still-blank-on-real-android-device –

所以,事实证明,有两个版本的google_maps_api.xml,我的清单是指调试版本,它仍然包含以前的API密钥。更改google_maps_api.xml的调试版本中的密钥修复了问题。