我编写了自定义位置侦听器,该侦听器每10分钟检查一次用户的位置,并在地图上更新一个表示用户位置的标记。问题是该标记是可点击的,即它显示了一个按钮以获取指向标记的方向。我想禁用它,我该怎么做?

这是创建/更新标记的功能

 public void updateUserMarker() {
        Double temp_latitude = ((MainActivity)mContext).mLatitude;
        Double temp_longitude = ((MainActivity)mContext).mLongitude;

        if(mMap!=null) {
            if (user_marker == null) {
                MarkerOptions markerOptions = new MarkerOptions().position(new LatLng(temp_latitude, temp_longitude));
                markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.my_marker_icon));
                user_marker = mMap.addMarker(markerOptions);
            } else {
                user_marker.setPosition(new LatLng(temp_latitude, temp_longitude));
            }
        }

    }

最佳答案

试试这个代码。

mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
        @Override
        public boolean onMarkerClick(Marker marker) {
            return true;
        }
    });


返回true也将阻止打开信息窗口。

ClusterManager一起使用时:

mMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() {
        @Override
        public boolean onMarkerClick(Marker marker) {
            if (marker == user_marker) {
               return true;
            }
            return clusterManager.onMarkerClick(marker);
        }
    });

关于android - 如何在Android中禁用点击 map 标记?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29722649/

10-11 22:30
查看更多