У меня есть приложение для Android с активностью, которая перелистывает (слева направо) между 3 представлениями.Одно из этих представлений отображает GoogleMaps.В дополнение к этому мне нужно иметь прокрутку вверх и вниз (не на карте, а в двух других видах), чтобы отобразить весь контент.У меня была некоторая проблема, чтобы приложение понимало жест смахивания, а не прокрутку, когда это необходимо, но я нашел здесь отличное решение: http://www.jmstudio.org/archives/391
Моя проблема в том, что в моем MapView я хочу показать положениепользователя.Поэтому я реализовал класс MapOverlay следующим образом:
защищенный класс MyLocationOverlay extends com.google.android.maps.Overlay {
@Override
public boolean draw(Canvas canvas, MapView mapView, boolean shadow, long when) {
Paint paint = new Paint();
super.draw(canvas, mapView, shadow);
// Converts lat/lng-Point to OUR coordinates on the screen.
Point myScreenCoords = new Point();
mapView.getProjection().toPixels(p, myScreenCoords);
paint.setStrokeWidth(1);
paint.setARGB(255, 255, 255, 255);
paint.setStyle(Paint.Style.STROKE);
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.positiondot);
canvas.drawBitmap(bmp, myScreenCoords.x, myScreenCoords.y, paint);
return true;
}
}
А затем из своей деятельности я вызываю
List<Overlay> mapOverlays;
MyLocationOverlay mapOverlay;
mapOverlays = mapView.getOverlays();
mapOverlay = new MyLocationOverlay();
mapOverlays.add(mapOverlay);
Это работает, но как только показывается положение, считывание не распознается.И если пользователь удаляет точку (нажатие кнопки mapOverlays.removeAll (mapOverlays); вызывается), то смахивание снова работает, но, конечно, позиция больше не отображается.Это похоже на то, что список почему-то отключает считывание.
Итак, я хочу, чтобы показанная позиция и смахивание работали одновременно.Мой код для смахивания более или менее тот, что в ссылке, которую я предоставил (только что реализовал мои представления в XML).Что не так и как исправить?
Заранее спасибо!