Я пытаюсь добавить вид карты в свое приложение, но на карте отображается пустой экран, я искал эту проблему и добавил все необходимые мне разрешения и ключ API, но все еще пустой.Это мой код для карты
<com.google.android.gms.maps.MapView
android:id="@+id/map"
android:layout_width="match_parent"
android:apiKey="-----------------------------------"
android:layout_height="200dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"
android:layout_marginBottom="20dp"/>
Это код Java в onCreateView (я использую фрагменты)
mapview = (MapView) view.findViewById(R.id.map);
mapview.onCreate(savedInstanceState);
mapview.getMapAsync(this);
И
@Override
public void onMapReady(GoogleMap googleMap) {
GoogleMap map = googleMap;
map.getUiSettings().setMyLocationButtonEnabled(false);
if (ActivityCompat.checkSelfPermission(this.getContext(), android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this.getContext(), android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
return;
}
map.setMyLocationEnabled(true);
GeoPoint location = user.getLocation();
LatLng pos;
if(location == null) pos = new LatLng(41.8919300, 12.5113300);
else pos = new LatLng(location.getLatitude(), location.getLongitude());
map.addMarker(new MarkerOptions().position(pos)
.title("Ti trovi qui"));
map.moveCamera(CameraUpdateFactory.newLatLngZoom(pos,10f));
mapview.onResume();
}
Иэто мой манифест
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.diy.yourself">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.INTERNET" />
<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" />
<permission
android:name="com.diy.yourself.permissions.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="com.diy.yourself.permissions.MAPS_RECEIVE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.DayNight.NoActionBar">
<activity
android:name="com.diy.yourself.SignInActivity"
android:label="Sign In"></activity>
<activity android:name="com.diy.yourself.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.diy.yourself.SignUpActivity" />
<meta-data
android:name="preloaded_fonts"
android:resource="@array/preloaded_fonts" />
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="-----------------------------------------"/>
<uses-library android:name="com.google.android.maps"/>
<activity android:name="com.diy.yourself.ConditionsActivity" />
</application>
</manifest>
API Карт Google для Android включен, и я использовал ключ, автоматически сгенерированный Firebase, который работает для других API, отладчик не показывает никаких ошибок.
Кто-нибудь может помочь?Заранее спасибо 101