0

将 ItemizedIconOverlay.OnItemGestureListener 附加到 ItemizedIconOverlay 非常容易(它可以在构造函数中传递)。但是,DirectedLocationOverlay 没有这样的构造函数。

我试图这样做:

    DirectedLocationOverlay LocalDeviceMarker = new DirectedLocationOverlay(this.getBaseContext())
    {
        @Override
        public boolean onSingleTapConfirmed(final MotionEvent e,
                final MapView mapView)
        {
            Toast.makeText(
                    MainActivity.this,
                    getTitle() + " lat: "
                            + mLocation.getLatitudeE6() + " long: "
                            + mLocation.getLongitudeE6(),
                    Toast.LENGTH_LONG).show();
            return true; // No one else should handle this event.
        }
    };

但是当我点击地图上的任何地方(而不是我想要的箭头)时,似乎会触发 onSingleTapConfirmed 。这样做的正确方法是什么?此外,ItemizedIconOverlay 允许您为每个项目分配一个“标题” - 有没有办法命名这些 DirectedLocationOverlays?

4

1 回答 1

1

DirectedLocationOverlay 是用户贡献的代码,并不是真正的 v1 Google API 的一部分,因此它并没有引起太多关注。它类似于 ItemizedOverlay 和 ItemizedIconOverlay 但它没有命中测试方法来检测对实际图标的点击。最初编写时,它可能应该扩展其中一个类。我将看看我们如何在逐项叠加中实现命中测试并在 DirectedLocationOverlay 中实现相同的东西。或者您将不得不扩展 ItemizedIconOverlay 并向绘图方法添加旋转功能。

于 2013-09-16T14:02:33.530 回答