Android上的地图盒指南针侦听器

Android上的地图盒指南针侦听器,android,mapbox,Android,Mapbox,在地图框中单击指南针时是否可以注册?我看到一个MapboxMap.OnCompassAnimationListener,它是一个界面,但当我实现它时,它不起作用(Android) 谢谢您可以拦截点击(我使用com.mapbox.mapboxsdk:mapbox android导航界面:0.13.0): 但在此之后,您必须自己执行覆盖的onClick逻辑。检查单击的最佳方法是使用触摸监听器,如果覆盖onClick监听器,指南针中的功能将不起作用(动画等) 我找到了做这件事的方法。(您可以添加额外的

在地图框中单击指南针时是否可以注册?我看到一个
MapboxMap.OnCompassAnimationListener
,它是一个界面,但当我实现它时,它不起作用(Android)
谢谢

您可以拦截点击(我使用com.mapbox.mapboxsdk:mapbox android导航界面:0.13.0):

但在此之后,您必须自己执行覆盖的onClick逻辑。

检查单击的最佳方法是使用触摸监听器,如果覆盖onClick监听器,指南针中的功能将不起作用(动画等) 我找到了做这件事的方法。(您可以添加额外的步骤event.getAction==MotionEvent.ACTION\u DOWN)

mapView.findViewWithTag(“compassView”)?.setOnTouchListener{v,事件->
Toast.makeText(上下文,“touch listener”,Toast.LENGTH\u SHORT.show())
假的
}

这将起作用,但如果您更新mapbox,请确保
compassView
不会更改

此时没有compass的公开单击侦听器。你可以打开一张票。我想,但我找不到compassView,我最终创建了自己的指南针按钮,到目前为止,它似乎工作得很好,谢谢
CompassView compassView = findViewById(R.id.compassView);
compassView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Log.d(TAG, "Compass clicked");
    }
});
 mapView.findViewWithTag<View>("compassView")?.setOnTouchListener { v, event ->
                Toast.makeText(context, "touch listener", Toast.LENGTH_SHORT).show()
                false
            }