Android canvas.drawCircle 上的 OnClick 事件

发布于 2024-11-10 16:35:30 字数 173 浏览 0 评论 0原文

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

我希望当用户单击这些圆圈时,它应该根据单击的圆圈显示一个吐司。

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

我无法找到解决方案。

I want to display few circles in google maps on my android application.

I want that when user clicks these circle it should show a toast based on the circle clicked.

I am using code.google.android.maps.overlay to display circle on a specific lat/long.

I am unable to find a solution.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

别念他 2024-11-17 16:35:30

扩展 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() 方法并显示 Toast。

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

MapItemizedOverlay itemizedoverlay = new MapItemizedOverlay(circleDrawable, this);

Extend the ItemizedOverlay class

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();
    }
}

this is a class which handles overlayitems.
There you can implement the onTap()-Method and show Toasts.

In your MapActivity you simply create this MapitemizedOverlay and add your items.

MapItemizedOverlay itemizedoverlay = new MapItemizedOverlay(circleDrawable, this);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文