单击叠加层时显示祝酒词

时间:2011-07-01 11:44:12

标签: android google-maps overlay

我使用以下代码显示叠加层

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 :(得分:0)

覆盖叠加层的onTap方法(here)并调用Toast。

答案 1 :(得分:0)

在这里,我给出了我之前给出的答案的链接,您应该在评论中阅读答案,然后您会找到答案。

 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自动生成的方法存根     flag = false; mapView.invalidate(); },200L);
    }

Custom tap window on Google Map

我做了你想做的事。

我希望这是有帮助的。