J'étend mon application avec l'activité google map. il a créé une mapclass et étend FragmentActivity implémente OnMapReadyCallback.Accéder à l'objet GoogleMap d'une activité dans une autre activité
l'onMapReadyCallBack renvoie l'objet GoogleMap comme ci-dessous le code.
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
public GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user);
// Obtain the SupportMapFragment and get notified when the map is ready to be used.
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// Add a marker in Sydney and move the camera
LatLng sydney = new LatLng(-34, 151);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}
}
Je souhaite accéder à mMap sur ma classe MainActivity pour effectuer certaines opérations. Je crée un bouton avec l'attribut onclick à la méthode gotolocation. mais il renvoie une erreur car l'objet de la carte est nul; qui est le moyen approprié pour accéder à l'objet GoogleMap dans ma classe d'activité.
public void gotoLocation(View v){
if (mMap != null){
LatLng sydney = new LatLng(-34, 151);
mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Kabul"));
mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney));
}else{
Log.d("Map object", "It si null==============");
}
}
Danial Je suis d'accord avec vous cette façon, il fonctionne, mais la carte est un fragment et il est placé à l'intérieur du contenu utilisateur XML de la barre de navigation. J'essaye d'obtenir l'entrée de l'utilisateur dans la classe de navigation et de chand l'emplacement de carte. –