是否可以在地图框中单击指南针时进行注册?我看到MapboxMap.OnCompassAnimationListener
它是一个界面但是当我实现它时它不起作用(Android)
感谢
答案 0 :(得分:0)
你可以拦截点击(我使用com.mapbox.mapboxsdk:mapbox-android-navigation-ui:0.13.0):
CompassView compassView = findViewById(R.id.compassView);
compassView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d(TAG, "Compass clicked");
}
});
但在此之后你必须自己完成覆盖的onClick逻辑。
答案 1 :(得分:0)
“检查”点击的最佳方法是使用触摸侦听器,如果您覆盖onClickListener,则指南针中的功能将不起作用(动画等)。 我找到了方法。 (您可以添加额外的步骤event.getAction == MotionEvent.ACTION_DOWN)
mapView.findViewWithTag<View>("compassView")?.setOnTouchListener { v, event ->
Toast.makeText(context, "touch listener", Toast.LENGTH_SHORT).show()
false
}
这将起作用,但是如果您更新Mapbox,请确保compassView
不变