Я пытаюсь получить широту и долготу места касания на карте. Я пробовал много методов из Интернета, но ничего не помогло. У кого-нибудь есть простое решение?

РЕДАКТИРОВАТЬ:

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

    }
-1
berkc 27 Фев 2015 в 13:53

2 ответа

Лучший ответ

Объявите два поля класса:

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
Y.S 27 Фев 2015 в 11:31

Гм например,

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 содержит широту и долготу

0
The Dongster 27 Фев 2015 в 11:01