在canvas.drawCircle Android上的OnClick事件

时间:2011-05-30 20:42:06

标签: android google-maps canvas bitmap onclick

我想在Android应用程序的谷歌地图中显示几个圆圈。

我希望当用户点击这些圈子时,它应该根据点击的圈子显示祝酒词。

我正在使用code.google.android.maps.overlay在特定的纬度/长度上显示圆圈。

我无法找到解决方案。

1 个答案:

答案 0 :(得分:1)

扩展ItemizedOverlay类

public class MapItemizedOverlay extends ItemizedOverlay {

    private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
    private Drawable myPic;
    private Activity mapActivity;

    public MapItemizedOverlay(Drawable defaultMarker, Activity context) {
    super(boundCenterBottom(defaultMarker));
    this.mapActivity = context;
    this.myPic = defaultMarker;
}

    protected boolean onTap(int index) {
        OverlayItem item = mOberlays.get(index);
        ... //Toast code
    }

    public void addOverlay(OverlayItem overlay) {
        mOverlays.add(overlay);
        populate();
    }

    @Override
    protected OverlayItem createItem(int i) {
        return mOverlays.get(i);
    }

    @Override
    public int size() {
        return mOverlays.size();
    }
}

这是一个处理叠加项的类。 在那里你可以实现onTap() - 方法并显示Toasts。

在MapActivity中,您只需创建此MapitemizedOverlay并添加您的项目。

MapItemizedOverlay itemizedoverlay = new MapItemizedOverlay(circleDrawable, this);