我在使用onMarkerClickListeners时遇到问题。我是初学者,出现错误提示失踪声明

时间:2019-04-12 21:03:08

标签: android

我在上次覆盖中收到该错误。

我真的不知道需要退货什么,所以请帮助我。

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback,GoogleMap.OnMarkerClickListener {

    private GoogleMap mMap;
    private Marker myMarker;





    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_maps);
        SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);
        mapFragment.getMapAsync(this);
    }




    @Override
    public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;
        LatLng MORNAR = new LatLng(43.5201139, 16.4282208);
        googleMap.setOnMarkerClickListener(this);


        mMap.addMarker(new MarkerOptions().position(MORNAR).title("Stari mornar"));
        mMap.moveCamera(CameraUpdateFactory.newLatLng(MORNAR));
        mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(MORNAR, 13));




    }
    @Override
    public boolean onMarkerClick(final Marker marker) {

        String name= marker.getTitle();

        if (name.equalsIgnoreCase("Stari mornar"))
        {
            openActivity3();
        }

    }
    public void openActivity3(){
        Intent intent = new Intent(this, Main2Activity.class);
        startActivity(intent);
    }
}

2 个答案:

答案 0 :(得分:1)

将制造商的点击侦听器更改为此

@Override
public boolean onMarkerClick(final Marker marker) {

    String name= marker.getTitle();

    if (name.equalsIgnoreCase("Stari mornar"))
    {
        openActivity3();

        return true;
    }
   return false;

}

这里的方法表明它返回布尔值。

因此,如果您单击标记,并且函数返回true,则表示click事件成功,如果返回false,则信息窗口将照常显示。

答案 1 :(得分:-1)

在最后一个覆盖方法(onMapReady(Marker))中,您需要返回一个布尔值,因为它是强制性的。

@Override
public boolean onMarkerClick(final Marker marker) {

    String name= marker.getTitle();

    if (name.equalsIgnoreCase("Stari mornar"))
    {
        openActivity3();
    }

    // return true or false
}

如果返回true,则表示您已单击标记。

在函数的隐私访问器(“公共”)之后,您将拥有返回类型,在这种情况下,该类型为布尔值。

让我知道这是否有帮助! ;)