如何检测原生 Android Mapbox 地图中的 MarkerView 点击?

How to detect MarkerView click in native Android Mapbox map?

此 Mapbox 代码现已弃用:

mapboxMap.setOnMarkerClickListener(new MapboxMap.OnMarkerClickListener() {
    @Override
    public boolean onMarkerClick(@NonNull Marker marker) {

        // Show a toast with the title of the selected marker
        Utilities.makeToast(requireContext(), marker.getTitle());
        return true; // Prevents standard InfoWindow from being displayed
    }
});

documentation says to use the Mapbox Annotation Plugin instead. I've read that and have also checked out the MarkerView example 但没有关于如何检测何时单击标记 (MarkerView) 的任何线索。

此外,MarkerViewManagerMarkerView 类 似乎没有任何可用于检测标记点击的方法。

有什么想法吗?

创建 MarkerView 时,您向构造函数提供自定义视图,例如:

MarkerView markerView = new MarkerView(new LatLng(latitude, longitude), customView);
mMarkerViewManager.addMarker(markerView);

因此,要获取标记点击事件,您首先调用:

customView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Utilities.makeToast(requireContext(), "Marker clicked!");
    }
});