我想在地图上获取触摸位置的纬度和经度。我从互联网上尝试了很多方法,但没有任何效果。有没有人有一个简单的解决方案?
修改
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);
}
答案 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包含纬度和经度