1

如何在谷歌地图 API V2 中获取从当前位置到纬度/经度目的地的英里/公里和减号。如果我得到这个值,我想存储在 textview 中。

我的代码是:

import android.os.Bundle;

import com.actionbarsherlock.app.SherlockActivity;

import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

public class DetailMapActivity extends SherlockActivity {
    private GoogleMap map;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_detail_map);

        map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
                .getMap();
        map.setMyLocationEnabled(true);

        LatLng LOC_DESTINATION = new LatLng(-6.33438, 106.74316);

        map.addMarker(new MarkerOptions().position(LOC_DESTINATION)
                .title("Destination Title").snippet("Destination Description"));

        map.moveCamera(CameraUpdateFactory.newLatLngZoom(LOC_DESTINATION, 40));

        map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);

        String miles = "what this code?";
        Log.d("HaichalMap", miles);
    }
}

感谢您的回答。

4

3 回答 3

2

Location使用类试试这个

Location locationA = new Location("Location A");
locationA.setLatitude(lat_a);
locationA.setLongitude(lon_a);

Location locationB = new Location("Location B");
locationB.setLatitude(lat_b);
locationB.setLongitude(lon_b);

int metres = Math.round(locationA.distanceTo(locationB)); // Returns in Metres

将仪表转换为所需的输出

于 2013-01-21T20:33:44.997 回答
0

谷歌地图不提供路线。您需要查看Google Directions API

于 2013-01-21T20:18:19.510 回答
0

您需要根据旧坐标和新坐标(纬度和经度)计算距离。这将以米为单位返回结果。然后,您需要将其转换为英里/公里。就计算与初始坐标和最终坐标的距离而言,线程可能对您有所帮助。希望能回答你的问题。

于 2013-01-21T20:27:44.517 回答