0

Dans ce cas, la carte apparaît sur l'application que j'essaie de faire, mais lorsque l'application est ouverte, le dossier n'apparaît pas à l'emplacement actuel mais dans l'océan Atlantique Sud. Est-il possible d'afficher l'emplacement actuel au moment de l'ouverture de l'application?Comment obtenir l'emplacement actuel lors du lancement de l'application?

Voici mon code:

public class GmapFragment extends Fragment implements OnMapReadyCallback, 
     ActivityCompat.OnRequestPermissionsResultCallback, 
     LocationListener 
{ 

    GoogleMap mMap; 
    GoogleApiClient mGoogleApiClient; 
    Location mLastLocation; 
    double longitude; 
    double latitude; 



    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     return inflater.inflate(R.layout.fragment_gmaps, container, false); 
    } 


    @Override 
    public void onViewCreated(View view, Bundle savedInstanceState) { 
     super.onViewCreated(view, savedInstanceState); 

     MapFragment fragment = (MapFragment) getChildFragmentManager().findFragmentById(R.id.map); 
     fragment.getMapAsync(this); 
    } 


    @Override 
    public void onMapReady(GoogleMap googleMap) { 
     LocationManager locManager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE); 

     boolean network_enabled = locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); 

     Location location; 

     if(network_enabled){ 

      location = locManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 

      if(location!=null){ 
       longitude = location.getLongitude(); 
       latitude = location.getLatitude(); 

       mMap.addMarker(new MarkerOptions() 
         .position(new LatLng(-7.0559935,110.4320226)) 
         .title("Kos Munyiq")); 

       mMap.addMarker(new MarkerOptions() 
         .position(new LatLng(-7.0500666,110.4264657)) 
         .title("Kos Pos")); 


       mMap.animateCamera(CameraUpdateFactory.zoomTo(0)); 
       mMap.setMyLocationEnabled(true); 
       mMap.getUiSettings().setZoomControlsEnabled(true); 
       mMap.getUiSettings().setMapToolbarEnabled(false); 
      } 
     } 
    } 

    @Override 
    public void onLocationChanged(Location location) { 
    } 
} 

Désolé s'il y a quelque chose de mal à ma question.

Répondre

0

Vous ajoutez un marqueur à un endroit. Essayez d'utiliser le code suivant au lieu de ces marqueurs ..

mMap.setMyLocationEnabled(true); <<this is the main line 
mMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() { 

@Override 
public void onMyLocationChange(Location arg0) { 
    mMap.addMarker(new MarkerOptions().position(new LatLng(arg0.getLatitude(), arg0.getLongitude())).title("It's Me!")); 
    } 
}); 

L'emplacement sur la fonctionnalité de changement vous donnera votre position, même si vous changez votre position ... Si vous avez juste besoin de votre position actuelle, statique, vous me contenterai besoin du code suivant,

mMap.setMyLocationEnabled(true); 
mMap.addMarker(new MarkerOptions() 
        .position(new LatLng(latitude,longitude)) 
        .title("It's Me!")); 

Ensuite, vous voudrez animer la caméra, zoom avant/arrière un peu. J'espère que ça aide. À votre santé! Merci d'essayer de m'aider, j'ai essayé de changer le code correspondant à l'explication

+0

la carte est apparue mais toujours dans l'Océan Antarctique Sud et le bouton de localisation actuel disparaît. Y at-il quelque chose qui ne va pas avec ce que j'ai fait? – Plokodot