Я пытаюсь добавить 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));
}
Но когда я запускаю приложение, карта не появляется. Есть серый экран со значком гугла.