2013-01-07 4 views
0

내 현재 위치에서 하드 코딩 된 위치까지의 거리를 계산하는 방법을 만들었습니다. 그러나 그것은 효과가 없습니다. 계산기에 거리가 표시되지 않습니다. 여기서 뭐가 잘못 됐니?Android : 다른 지점까지 거리 계산

public void ourLocation() 

{ 

    myLocation = new MyLocationOverlay(this, map); 
    map.getOverlays().add(myLocation); 
    myLocation.enableMyLocation(); 

    // Find my position 
    locationManager = (LocationManager) this 
      .getSystemService(Context.LOCATION_SERVICE); 
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 
      20000, 0, this); 

    controller = map.getController(); 

} 

내 onLocationChanged 메소드.

public void onLocationChanged(Location location1) { 
     // Updating location and zoom 
     controller.setCenter(new GeoPoint(
       (int) (location.getLatitude() * 1000000), (int) (location 
         .getLongitude() * 1000000))); 
     controller.setZoom(15); 

    Criteria crit = new Criteria(); 
    towers = locationManager.getBestProvider(crit, false); 

    location = locationManager.getLastKnownLocation(towers); 

    //Trying to get MyPostion. 
    Location myLocation = new Location("point A"); 

    myLocation.setLongitude(location.getLongitude()); 
    myLocation.setLatitude(location.getLatitude()); 

    Location locationB = new Location("point B"); 

    locationB.setLatitude(55777816); 
    locationB.setLongitude(12533358); 

    float distance = myLocation.distanceTo(locationB); 

    //Showing the distance 
     AlertDialog alert = new AlertDialog.Builder(GoogleMaps.this) 
       .create(); 
     alert.setTitle((int)distance); 

} 

답변

0

외형 적으로 위치 업데이트를 받고 있습니다. 위치 객체는 다른 위치까지의 거리를 계산하는 기능을 가지고 있습니다. 그렇게하면 반경 내에 있는지 확인할 수 있습니다.

+0

기능의 이름은 무엇입니까? 아니면 예제를 제공 할 수 있습니까? – Zaz

+0

Location.distanceTo (위치 dest) – Lieuwe

+0

좋습니다. 이 코드를 어떻게 조합합니까? compass.enableMyLocation(); lm = (위치 관리자) this.getSystemService (Context.LOCATION_SERVICE); lm.requestLocationUpdates (LocationManager.GPS_PROVIDER, 20000, 0, this); 위치 A가 되나요? – Zaz