如何在不覆盖默认行为的情况下扩展 OSMbonuspacket 标记的 setOnMarkerClickListener?

How to expand setOnMarkerClickListener of OSMbonuspacket Marker without overriding default behavior?

我正在开发一个使用 OSMbonuspacket 的应用程序。我在地图上添加了带有描述的标记。单击其中一个标记时,将显示说明框。

现在我想在点击标记时调用另一个函数。假设我想展示一个吐司。所以我添加了以下 setOnMarkerClickListener() 函数:

marker.setOnMarkerClickListener(new Marker.OnMarkerClickListener() {
    @Override
    public boolean onMarkerClick(Marker marker, MapView mapView) {
        Toast.makeText(context, "Hallo", Toast.LENGTH_LONG).show();
        return false;
    }
});

这会在单击标记时显示 Toast。但是,描述框不再显示。我想我正在覆盖默认行为。有了这个功能。我制作了一个带有 Google 地图集成的应用程序并且做了同样的事情没有任何问题。

有谁知道如何使用 OSMbonuspacket 完成此操作?

osmdroid 中 Marker 的默认点击监听器如下所示:

protected boolean onMarkerClickDefault(Marker marker, MapView mapView) {
    marker.showInfoWindow();
    if(marker.mPanToView) {
        mapView.getController().animateTo(marker.getPosition());
    }

    return true;
}

因此,您可以像这样覆盖您的侦听器:

marker.setOnMarkerClickListener(new Marker.OnMarkerClickListener() {
    @Override
    public boolean onMarkerClick(Marker marker, MapView mapView) {
        marker.showInfoWindow();
        mapView.getController().animateTo(marker.getPosition());
        Toast.makeText(context, "Hallo", Toast.LENGTH_LONG).show();
        return true;
    }
});