Я реализовал карты Google в своем приложении. Я написал свой собственный класс наложения, расширяющий ItemizedOverlay для добавления наложений. Используя тот же класс наложения, я также добавляю наложение, чтобы показать мое текущее местоположение на карте.
OnTouchEvent этого класса наложения используется для определения места касания и возможности перемещения объекта наложения в любое место на карте. Однако это вызывает некоторые проблемы. Указатель моего текущего местоположения также становится подвижным. Я хочу исправить этот указатель текущего местоположения.
Для этого я создаю новый класс MyNewLocationOverLay, который расширяет ранее созданный пользовательский оверлей. Мой план состоит в том, чтобы переопределить метод onTouchEvent и вернуть super.onTouchEvent в случае касания других оверлеев и вернуть true при касании оверлея mylocation. Как узнать, какой оверлей был нажат. Я пытался:
public class myOverlayclass extends OverLayClass {
public myOverlayclass(Drawable marker) {
super(marker);
// TODO Auto-generated constructor stub
}
public boolean onTouchEvent(MotionEvent motionEvent, MapView mapView) {
System.out.println("The overlays are*************"+mapView.getOverlays()); //this lists the overlays
return super.onTouchEvent(motionEvent, mapView);
}
}
Мне нужно сравнить это, чтобы найти, какой оверлей был затронут. Как сравнить накладки.
if (mapView.getOverlays().contains(mYLocationOverLay))
не работает.