Вставить карты Google на фрагмент

Я пытаюсь добавить API карт Google во фрагмент, прежде всего я создаю проект в консоли Google, чтобы получить КЛЮЧ API. Когда у меня есть API_KEY, я помещаю в AndroidManifest.xml следующие строки:

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

Перед этим в свой fragment.xmk я добавляю следующие строки:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.sergi.cycloguardian.Fragments.FragmentMap">

<com.google.android.gms.maps.MapView
    android:id="@+id/map"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" />

</RelativeLayout>

Наконец, в моем фрагменте.java у меня есть эта строка:

 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    mView = inflater.inflate(R.layout.fragment_map, container, false);
    return mView;
}

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    //Recuperamos la instancia del mapa
    mMapView = (MapView) mView.findViewById(R.id.map);
    if (mMapView != null) {
        mMapView.onCreate(null);
        mMapView.onResume();
        mMapView.getMapAsync(this);
    }

}

@Override
public void onMapReady(GoogleMap googleMap) {

    MapsInitializer.initialize(getContext());

    mGoogleMap = googleMap;
    googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
    googleMap.addMarker(new MarkerOptions().position(new LatLng(40.689247, -74.044502)).title("State of liberty"));

    CameraPosition Liberty = CameraPosition.builder().target(new LatLng(40.689247, -74.044502))
            .zoom(16).bearing(0).tilt(45).build();
    googleMap.moveCamera(CameraUpdateFactory.newCameraPosition(Liberty));
}

Но когда я запускаю приложение, карта не появляется. Есть серый экран со значком гугла.


person Sergio Iglesias Garcia    schedule 05.04.2018    source источник
comment
Похоже, вы должны использовать подход из ответа здесь: stackoverflow.com/questions/44687517/   -  person Daniel Nugent    schedule 05.04.2018