Показать тост при нажатии на оверлей - PullRequest
2 голосов
/ 01 июля 2011

Я использовал следующий код для отображения наложения

p = new GeoPoint((int) (addresses.get(0).getLatitude() * 1E6),
                    (int) (addresses.get(0).getLongitude() * 1E6));

            controller = mapview.getController();
            controller.setZoom(12);

            MapOverlay mapOverlay = new MapOverlay(map.this, p);
            List<Overlay> listOfOverlays = mapview.getOverlays();
            listOfOverlays.add(mapOverlay);

            controller.animateTo(p, new Runnable() {
                public void run() {
                    controller.setZoom(12);
                }
            });
            mapview.invalidate();

и файл, в котором нарисован оверлей, выглядит следующим образом ...

    super.draw(canvas, mapView, shadow);
    Point screenPts = new Point();
    mapView.getProjection().toPixels(p, screenPts);

    Bitmap bmp = BitmapFactory.decodeResource(context.getResources(), R.drawable.overlay);
    canvas.drawBitmap(bmp, screenPts.x, screenPts.y - 32, null);

Может ли кто-нибудь сказать мне, какие изменения нужно сделать, чтобы отобразить тост, когда я нажимаю на оверлей?

Ответы [ 2 ]

0 голосов
/ 01 июля 2011

Здесь мне дана ссылка на мой предыдущий ответ, вы должны прочитать ответ с комментарием, тогда вы найдете ответ.

 if(moreArrowTappedEvent(mapView,p) && isRemovePriorPopup) { 
Toast.makeText(this.mapLocationViewer.getContext(), "I am hit",  Toast.LENGTH_LONG).show();
 flag = true; mapView.invalidate();
 mHandler.postDelayed(new Runnable() {
 @Override public    void    run() {

// TODO Автоматически генерируемая заглушка метода флаг = ложь; mapView.invalidate (); }}, 200л);
}

Пользовательское окно касания на карте Google

Я сделал это, ты хочешь.

Надеюсь, это поможет.

0 голосов
/ 01 июля 2011

Переопределите метод onTap наложения ( здесь ) и вызовите тост.

...