OnMarkerClick() 方法不起作用 Android Studio

问题描述

在onmarkerclick()操作的论坛上,我尝试了很多解决方案,但都没有奏效。

我正在使用一个使用 google maps api 的应用程序,我们想要编写一个路线跟踪器。

我现在尝试实现的操作是通过单击标记可以跟踪到它的路径,问题是 onmarkerclick 方法不起作用或返回任何内容

我将添加我认为重要的两部分代码,以便能够找到问题的解决方案:

 public void onMapReady(GoogleMap googleMap) {
        mMap = googleMap;
        mMap.setonMapClickListener(this);
        mMap.setonMarkerClickListener(this);
        mMap.setonInfoWindowClickListener(this);

        if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            if (ContextCompat.checkSelfPermission(this,Manifest.permission.ACCESS_FINE_LOCATION)
                    == PackageManager.PERMISSION_GRANTED) {
                buildGoogleapiclient();
                mMap.setMyLocationEnabled(true);
            }
        }
        else {
            buildGoogleapiclient();
            mMap.setMyLocationEnabled(true);
        }

        //  Add layer

        try {
            layer = new KmlLayer(mMap,R.raw.kmltest,getApplicationContext());
            layer.addLayerToMap();
            // Set a listener for geometry clicked events.
            layer.setonFeatureClickListener(new KmlLayer.OnFeatureClickListener() {
                @Override
                public void onFeatureClick(Feature feature) {
                    Log.i("KML","Feature clicked: " + feature.getProperty("cua_DESCRI"));
                }
            });

        } catch (XmlPullParserException e) {
            e.printstacktrace();
        } catch (IOException e) {
            e.printstacktrace();
        }
        // end of layer add
    }


public boolean onMarkerClick(Marker marker) {
        Log.d("Comprobar markerclick","onMarkerClick !!!!!!!!!!!!!!!!!! ");

        btnTrazarRuta.hide();

        //El destino que buscaremos al dar click 
        destinorutaUnica = marker.getPosition().latitude + "," + marker.getPosition().longitude;


        return false;
    }

onmarkerclick 方法应该隐藏一个按钮并获取标记的位置,但在此之前我放了一个 logd 以便能够查看它是否至少进入了该方法,但没有。它完全没有显示

解决方法

遇到同样问题的人。

在我的情况下是这条线:

layer = new KmlLayer(mMap,R.raw.kmltest,getApplicationContext());

显然,在处理 KML 图层时,onmarkerclick() 和同时 oninfowindowsclick() 停止工作。

我不知道为什么。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...