Хорошо. Прежде всего, необходимо расширить com.google.android.maps.Overlay
и переопределить метод onTap
:
class MOverlay extends Overlay {
@Override
public boolean onTap(GeoPoint p, MapView mapView) {
int latitude = p.getLatitudeE6();
int longitude = p.getLongitudeE6();
// Do whatever you need to do here.
return true; // true means we handled the tap
}
}
Затем вам нужно добавить этот оверлей в список оверлеев на карте. Предполагая, что ваша деятельность расширяет MapActivity
, этот код должен работать:
class MyActivity extends MapActivity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// your code here
MapView map = findViewById(R.id.map); // you can change this
MOverlay clickCatcher = new MOverlay();
List<Overlay> allOverlays = map.getOverlays();
allOverlays.add(clickCatcher);
map.invalidate();
// All done!
}
}
Хотелось бы надеяться, что помогает вам. Удачи!
Итак, если я понимаю ваш вопрос, у вас уже есть Карты Google в вашем приложении, и вы просто хотите найти лат/длинный щелчок, верно? – Tushar
Да, приложение уже на моем телефоне, и я хотел бы найти lat/long на нажатие кнопки/экрана – Hawkhunter
Я все еще смущен. Приложение Google Maps на вашем телефоне, или у вашего приложения есть SDK Google Maps? – Tushar