marker.isVisible为true,但未显示任何标记

时间:2017-09-09 15:59:26

标签: java android google-maps android-maps-v2

我有一张地图,当收到firebase按摩时,我会在上面添加一个标记。 有时,当我关闭屏幕然后打开屏幕时,我无法看到我的标记。

我在onResume中有以下代码:

 if (situation_ == 3) {

            if (marker == null){
                Log.i("Logit", "is null");
            }else{
                Log.i("Logit", String.valueOf(marker.isVisible()));
            }

            if (marker == null || !marker.isVisible()) {
                final Handler handler = new Handler();
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        String Lat = pref.read_pref_info("usera");
                        String Lng = pref.read_pref_info("userb");
                        marker_op = new MarkerOptions().position(new LatLng(Double.valueOf(Lat), Double.valueOf(Lng)))
                                .icon(BitmapDescriptorFactory.fromResource(R.mipmap.marker));
                        try {
                            Marker = mMap.addMarker(marker_op);
                        } catch (Exception ex) {
                            ex.printStackTrace();
                        }
                    }
                }, 2000);
            }

所以我可以在Logs中看到标记不是null而marker.isVisible返回true。 但是我无法在地图上看到任何标记,并且它不会在此行中显示:

if (marker == null || !marker.isVisible()) {

1 个答案:

答案 0 :(得分:2)

来自documentation

public boolean isVisible ()
  

获取此标记的可见性设置。 请注意,这不是   指示标记是否在屏幕的视口中。它   指示如果标记包含在中,是否将绘制标记   屏幕的视口。