我通过下面的代码在onMapReady
之后处理onMarker点击,但是在第一次点击时它不会返回回调。但是,它会在第二次点击时正常点击标记时返回回调。
mapboxMap.setOnMarkerClickListener(new MapboxMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(@NonNull Marker marker) {
Log.i("TAG", "MARKER clicked");
return true;
}
});
MainActivity
的完整演示源代码为HERE
我正在使用mapbox 5.0.2
。如何在标记处首次点击?
更新
如果我使用getMarkerViewManager().setOnMarkerViewClickListener
onMarkerClick
第一次总是被叫2次,我点击MarkerView
,之后点击MarkerView
mMapBox.getMarkerViewManager().setOnMarkerViewClickListener(new MapboxMap.OnMarkerViewClickListener() {
@Override
public boolean onMarkerClick(@NonNull Marker marker, @NonNull View view,
@NonNull MapboxMap.MarkerViewAdapter markerViewAdapter) {
return false;
}
});
答案 0 :(得分:0)
我找到了解决问题的一招,即每次我向地图添加wword="$(awk '{w=tolower($0}} NR==FNR{a[w];next} !(w in a){c++} END{print c+0}' spellingwords.txt /tmp/userwords.txt)"
我也会使用Intent intent = new Intent(myActivity.this, myActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
选择Marker
Marker
首次点击它会使标记返回点击监听器。不过我认为这不是一个好的解决方案