我有谷歌地图的问题。当我第一次执行我的应用程序时,地图正常显示,但是当我关闭并再次执行时,地图的屏幕是黑色的。我不知道会发生什么,但是当我清理应用程序的所有数据时,地图再次显示。
第一次:
第二次(当我关闭应用程序并再次执行时)
我正在使用带有 androidx86 项目的虚拟框
你能帮助我吗?
我的代码,我在哪里设置地图:
private void setUpMapIfNeeded() {
if (map == null) {
map = ((SupportMapFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
}
if (map != null) {
try{
map.setMyLocationEnabled(true);
map.setOnMyLocationButtonClickListener(this);
map.setOnMapLongClickListener(this);
map.setOnMarkerClickListener(this);
map.setOnMapClickListener(this);
map.setOnCameraChangeListener(this);
LocationManager locationManager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
String provider = locationManager.getBestProvider(criteria, true);
Location location = locationManager.getLastKnownLocation(provider);
if(location!=null){
double latitude = location.getLatitude();
double longitude = location.getLongitude();
LatLng latLng = new LatLng(latitude, longitude);
//ThreadMostraImoveisJson(latLng);
onLocationChanged(location);
}
}
catch (Exception ex){
Log.e("Erro Mapa", "Erro Setar Mapa: "+ex.getMessage());
}
}
}
我的 XML:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mapHost"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</fragment>
<LinearLayout
android:id="@+id/layPesquisa"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#f4f4f4"
android:orientation="horizontal"
android:layout_gravity="right">
<Button
android:id="@+id/btnPesquisa"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="OK" />
<EditText
android:id="@+id/edtPesquisa"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"
android:text=""
/>
</LinearLayout>
</FrameLayout>