2017-09-09 11 views
0

私はマップを持っています。私はfirebaseマッサージを受けたときにマーカーを追加します。 時々、私の画面を消してから電源を入れると、私のマーカは見えません。marker.isVisibleは真ですが、マーカが表示されていません

私は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); 
      } 

ので、私は、マーカーがnullでなく、marker.isVisibleがtrueを返したことをログで確認することができます。 しかし、私は、地図上の任意のマーカーを見ることができない、それはこの場合ラインに行かない:

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

答えて

2

documentationから。

public boolean isVisible() 

このマーカーの表示設定を取得します。 これは、マーカが画面のビューポート内にあるかどうかを示す を示していないことに注意してください。 は、 の画面のビューポートにマーカーが含まれている場合、そのマーカーを描画するかどうかを示します。

関連する問題