Android — Swipe/Fling + MapView с MapOverlay

У меня есть приложение для Android с действием, которое пролистывает (слева направо) между 3 представлениями. В одном из этих представлений отображаются GoogleMaps. В дополнение к этому мне нужна прокрутка вверх и вниз (не на карте, а в двух других представлениях), чтобы отобразить весь контент. У меня была проблема с тем, чтобы приложение понимало жест смахивания, а не прокрутку, когда это необходимо, но я нашел отличное решение здесь: http://www.jmstudio.org/archives/391

Моя проблема сейчас в том, что в моем MapView я хочу показать позицию пользователя. Поэтому я реализовал класс MapOverlay следующим образом:

защищенный класс MyLocationOverlay расширяет 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). Что не так и как исправить?

Заранее спасибо!


person george    schedule 14.03.2012    source источник
comment
Вы когда-нибудь находили способ исправить это? У меня точно такая же ситуация.   -  person bhekman    schedule 01.07.2012
comment
нет, извините .. Если вы найдете что-то, пришлите, пожалуйста, и сюда!   -  person george    schedule 02.07.2012
comment
Сделаю. до сих пор у меня нет зацепок, хотя после ~ 4 часов игры. Моя единственная идея — добавить кнопки для управления просмотром карты, но это второсортное решение.   -  person bhekman    schedule 02.07.2012
comment
это то, что я сделал .. но это тоже не первоклассное решение для меня   -  person george    schedule 02.07.2012