Android, Comment ajouter Google map options de mise en page XML?

J'ai un fragment qui détient une MapView. J'ai ajouté ce point de vue dans le fichier XML comme ceci:

<?xml version="1.0" encoding="utf-8"?>

<com.google.android.gms.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:id="@+id/mapView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="true"
    map:uiCompass="true"
    android:background="#00000000" />

Et j'ai lié à mon code comme ceci:

public class HotSpotsFragment extends MainFragment implements LocationListener {
private static final String TAG = "HotSpotsFragment";
private Context context;
private LocationManager locationManager;
private MapView mapView;
private GoogleMap googleMap;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
//create view
View view = inflater.inflate(R.layout.fragment_hot_spots, container, false);
//Getting context
context = getActivity().getApplicationContext();
//Make sure user's device supports Google play services
try {
MapsInitializer.initialize(getActivity());
} catch (GooglePlayServicesNotAvailableException e) {
Log.e(TAG, "Google play service is not available.");
Toast.makeText(getActivity().getApplicationContext(), R.string.hot_spots_not_supported, Toast.LENGTH_LONG).show();
return null;
}
Log.i(TAG, "Google play service is available.");
mapView = (MapView) view.findViewById(R.id.mapView);
mapView.onCreate(savedInstanceState);
googleMap = ((MapView) view.findViewById(R.id.mapView)).getMap();
if(googleMap == null) {
Toast.makeText(getActivity().getApplicationContext(), R.string.hot_spots_not_supported, Toast.LENGTH_LONG).show();
return null;
}
Log.i(TAG, "View created");
return view;
}
.
.
.
}

Je veux ajouter pour ajouter des options à ma vue de la carte. Basé sur ce qui a été mentionné sur GoogleMapOptions, "Ces options peuvent être utilisées lors de l'ajout d'une carte à votre application par programme (par opposition à la via XML). Si vous utilisez un MapFragment, vous pouvez passer ces options à l'aide de la statique de l'usine de la méthode newInstance(GoogleMapOptions). Si vous utilisez une MapView, vous pouvez passer ces options en utilisant le constructeur MapView(Contexte, GoogleMapOptions)." et, enfin, mon cas,"Si vous ajoutez une carte à l'aide de XML, vous pouvez ensuite appliquer ces options à l'aide de balises XML personnalisées."

Je n'ai trouvé aucun exemple pour montrer comment ajouter des options par XML. Je veux ajouter zOrderOnTop="true" dans mon code XML.

Toute suggestion serait la bienvenue. Grâce

Je suppose que vous n'avez pas mis en place d'autres méthode requise. C'est pourquoi il arrive. Vous pas besoin d'écrire "mapView.onResume();" dans onCreateView() la méthode. Assurez-vous que vous avez des méthodes suivantes après onCreateView():
*Override public void onResume() { super.onResume(); if(mapView != null) mapView.onResume(); } *Override public void onPause() { super.onPause(); if(mapView != null) mapView.onPause(); } *Override public void onDestroy() { super.onDestroy(); if(mapView != null) mapView.onDestroy(); }
*Override public void onSaveInstanceState(Bundle outState) { if(mapView != null) mapView.onSaveInstanceState(outState); super.onSaveInstanceState(outState); } *Override public void onLowMemory() { if(mapView != null) mapView.onLowMemory(); super.onLowMemory(); }
veuillez remplacer * par @. Je ne pouvais pas l'utilisateur que parce que l'éditeur a dit pas plus de 1 @ est autorisé 🙁
Veuillez jeter un oeil à stackoverflow.com/a/14114428/513413 je pense que cela résout votre problème.

OriginalL'auteur Hesam | 2013-04-24