我的谷歌地图有问题。当我第一次执行我的应用程序时,地图正常显示我,但是当我关闭并再次执行时,地图的屏幕是黑色的。 我不知道会发生什么,但当我清理我的应用程序的所有数据时,地图再次显示。
第一次:
第二次(当我关闭应用程序并再次执行时)
我正在使用带有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>
答案 0 :(得分:3)
这是一个全新的错误。
请参阅Google的问题跟踪器:
https://code.google.com/p/gmaps-api-issues/issues/detail?id=4659
和
https://code.google.com/p/gmaps-api-issues/issues/detail?id=5767
答案 1 :(得分:1)
在邮件线程上找到此问题的简便解决方法。这解决了我的问题。使用相对布局并将此透明视图直接放在地图片段上。示例:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"/>
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent" />
</RelativeLayout>
答案 2 :(得分:1)
我遇到了MapFragment显示黑色的问题。在我使用的AndroidManifest中:
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="false" />
将anyDensity设置为false会使其显示为黑色。我把它重新设置为真,它对我有用