2015-01-29 9 views
6

Sto utilizzando un account, ho bisogno di ottenere la mia posizione corrente (lat and lng) e ho bisogno di calcolare la mia posizione corrente con la posizione di destinazione.Android come utilizzare location.distanceTo()

Potete darmi una mano. qual è il modo migliore per calcolare la posizione:

Come posso ottenere la distanza dalla posizione corrente e dalla posizione di destinazione utilizzando lat e lng;

LocationManager locationManager; 
    Location locatio; 



locationManager = (LocationManager)getActivity().getSystemService(Context.LOCATION_SERVICE); 

location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); 





String product_latitude  = "3.121191"; 
      String product_longtitude = "101.673298"; 

      Double latitude  = Double.valueOf(product_latitude); 
      Double longtitude = Double.valueOf(product_longtitude); 

      // Calculate the Distance 
      String product_distance = location.distanceTo(latitude, longtitude); 
+0

Qual è la tua domanda? – immibis

+0

Come posso ottenere la distanza dalla posizione corrente e dalla posizione di destinazione usando lat e lng? – Joolah

risposta

11

Prova questa

double latitude=lat; 
double longitude=lng;  
float distance=0; 
Location crntLocation=new Location("crntlocation"); 
crntLocation.setLatitude(currentLatitude); 
crntLocation.setLongitude(currentLongitude); 

Location newLocation=new Location("newlocation"); 
newLocation.setLatitude(latitude); 
newLocation.setLongitude(longitude); 


//float distance = crntLocation.distanceTo(newLocation); in meters 
distance =crntLocation.distanceTo(newLocation)/1000; // in km 
0

Usa Direzione API per trovare alla distanza dalla posizione attuale alla destinazione. Restituisce un oggetto JSON come distanza che ti dà la distanza in miglia, puoi analizzare quello JSON e visualizzarlo sullo schermo dell'app.

Per la documentazione ufficiale di Google leggere here.

E per un tutorial leggere here.

Spero che questo possa aiutare !!!

3

È possibile utilizzare il metodo statico di Posizione: distanza Tra per ottenere la distanza tra 2 posizioni.

float [] results = new float[5]; 
Location.distanceBetween(startLatitude, startLongitude, endLatitude, 
endLongitude, results) 

doc: here

Problemi correlati