Android | Google地图获取位置

时间:2015-02-27 10:53:30

标签: android google-maps

我想在地图上获取触摸位置的纬度和经度。我从互联网上尝试了很多方法,但没有任何效果。有没有人有一个简单的解决方案?

修改

public void onClick_Test(View v) {

    double latitude ;
    map.setOnMapClickListener(new GoogleMap.OnMapClickListener() {

        @Override
        public void onMapClick(LatLng point) {
            double latitude = point.latitude;
            double longitude = point.longitude;

        /* Do whatever else you want here ... */
        }
    });

    //I tried to use values here.
    PolygonOptions currentOp = new PolygonOptions().add(new LatLng(latitude,longtidute));
// Get back the mutable Polygon
       map.addPolygon(rectOptions);

    }

2 个答案:

答案 0 :(得分:1)

声明两个类字段:

private double latitude;
private double longitude;

然后得到他们的价值观:

 mMap.setOnMapClickListener(new OnMapClickListener() {

        @Override
        public void onMapClick(LatLng point) {
            latitude = point.latitude;
            longitude = point.longitude;
        }
    });

然后在任何地方使用它们:

PolygonOptions currentOp = new PolygonOptions().add(new LatLng(latitude,longtidute));
map.addPolygon(rectOptions);

试试这个。这将有效。

答案 1 :(得分:0)

嗯,例如,

GoogleMap gMap;
LatLng LAT;

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentview(R.layout.something);
SupportMapFragment supportMapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);

gMap = supportMapFragment.getMap(); 

gMap.setOnMapClickListener(new OnMapClickListener(){
@Override
public void onMapClick(LatLng arg0){
LAT = arg0;
}
});

LAT包含纬度和经度