Ich versuche, meine Kartenansicht auf den normalen Stil zurückzusetzen, wenn ich den Schalter innerhalb meines Fragments auf die OFF-Position drücke, aber es funktioniert nicht. Das folgende ist das, was während des Prozesses auftritt, die ich bin vor:MapView kehrt nicht in den Normalzustand zurück, nachdem ich auf den Umschalter geklickt habe
- Fragment (containg MAP) und Schalter erschien
- blätterte Schalter auf Position
- Stil Karte erschien
- blätterte Schalter in AUS-Stellung mit
- Karte nicht
mGoogleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
aber die Karte bleibt nach wie vor fest auf dem Stil ma
ich habe versucht, ändern Ich sehe, wenn ich den Schalter umlege. Ich bin mir nicht wirklich sicher, was falsch gelaufen ist. Was muss getan werden, um dieses Problem zu lösen?
public class FragmentMap extends android.support.v4.app.Fragment implements OnMapReadyCallback {
private SwitchCompat swt;
public FragmentMap() {
}
GoogleMap mGoogleMap;
MapView mMapView;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_map, container, false);
mMapView = (MapView) v.findViewById(R.id.map_park);
mMapView.onCreate(savedInstanceState);
mMapView.getMapAsync(this);
swt = (SwitchCompat) v.findViewById(R.id.switch_map_park);
swt.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
boolean success = mGoogleMap.setMapStyle(new MapStyleOptions(getResources()
.getString(R.string.style_json)));
if (!success) {
Log.e("TabFragmentMap", "Style parsing failed.");
}
}else{
// What goes here?
mGoogleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
}
}
});
return v;
}
@Override
public void onMapReady(GoogleMap googleMap) {
mGoogleMap = googleMap;
mGoogleMap.getUiSettings().setZoomControlsEnabled(true);
mGoogleMap.setBuildingsEnabled(true);
mGoogleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
}
@Override
public void onResume() {
super.onResume();
mMapView.onResume();
}
@Override
public void onPause() {
super.onPause();
mMapView.onPause();
}
@Override
public void onDestroy() {
super.onDestroy();
mMapView.onDestroy();
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
mMapView.onSaveInstanceState(outState);
}
@Override
public void onLowMemory() {
super.onLowMemory();
mMapView.onLowMemory();
}
}
Leider habe ich noch nie mit Wearables gearbeitet. – MohanadMohie