我有一张地图,当收到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()) {
答案 0 :(得分:2)
public boolean isVisible ()
获取此标记的可见性设置。 请注意,这不是 指示标记是否在屏幕的视口中。它 指示如果标记包含在中,是否将绘制标记 屏幕的视口。