0

現在の位置からハードコーディングされた位置までの距離を計算するメソッドを作成しました。しかし、うまくいきません。電卓は距離を表示していません。ここで何が問題なのですか?

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);

}
4

1 に答える 1

0

見たところ、現在地の更新を受信して​​います。Location オブジェクトには、別の場所までの距離を計算する機能があります。そうすれば、半径内にいるかどうかを確認できます。

于 2013-01-07T21:01:48.480 に答える