Android中不可见的Google地图

时间:2018-11-30 16:54:20

标签: java android api google-maps manifest

我在我的android项目中使用google map API,但看不到。我写了这些代码:

  1. 清单文件:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.prmission.READ_GSERVICES"/>
<uses-permission android:name="com.example.app.permission.MAPS_RECEIVE"/>
    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version"/>

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="... My Api ..."/>
  1. 然后,我编写了以下代码:
public class Map extends FragmentActivity implements OnMapReadyCallback {

    private GoogleMap mMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_map);

        MapFragment mapFragment = (MapFragment) getFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(Map.this);
    }

    @Override
    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;

        LatLng sydney = new LatLng(-34, 151);
        mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
        mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney,13));
    }
}

1 个答案:

答案 0 :(得分:0)

我拥有与您相同的代码,并且可以正常工作。我已经添加了一个权限加上。

尝试添加<uses-permission android:name="android.permission.WAKE_LOCK" />权限。

我的<meta-data>像这样:

   <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="..." />