在Android Studio中,OnMarkerClick()方法用于处理点击Marker时的事件。如果该方法不起作用,可以按照以下步骤尝试解决该问题:
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// 添加Marker
LatLng location = new LatLng(37.7749, -122.4194);
MarkerOptions markerOptions = new MarkerOptions().position(location).title("Marker");
mMap.addMarker(markerOptions);
// 设置Marker点击监听器
mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
// 处理Marker点击事件
return true; // 如果返回true,则表示消费了该事件,不再传递给默认处理方法
}
});
}
public class MyMapFragment extends Fragment implements OnMapReadyCallback {
private GoogleMap mMap;
// ...
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
// 获取MapFragment
SupportMapFragment mapFragment = (SupportMapFragment) getChildFragmentManager().findFragmentById(R.id.map_fragment);
mapFragment.getMapAsync(this);
}
@Override
public void onMapReady(GoogleMap googleMap) {
mMap = googleMap;
// 添加Marker并设置点击监听器
// ...
}
}
@Override
public boolean onMarkerClick(Marker marker) {
Toast.makeText(this, "Marker Clicked", Toast.LENGTH_SHORT).show();
return true;
}
通过以上方法,你应该能够解决Android Studio中OnMarkerClick()方法不起作用的问题。如果问题仍然存在,请提供更多的代码示例和错误信息,以便更好地帮助你解决问题。
上一篇:Android Studio中的OnCreateView方法在fragment中从未被使用。
下一篇:Android Studio中的onRequestPermission / onActivityResult出现错误