如何检测原生 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
) 的任何线索。
此外,MarkerViewManager
和 MarkerView
类 似乎没有任何可用于检测标记点击的方法。
有什么想法吗?
创建 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!");
}
});
此 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
) 的任何线索。
此外,MarkerViewManager
和 MarkerView
类 似乎没有任何可用于检测标记点击的方法。
有什么想法吗?
创建 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!");
}
});