0

私のコードでは、地図上に2つ目のアクティビティの最初のアクティビティショーメーカーがあり、2番目のアクティビティにはマーカーに関する情報が表示されます。私は、マーカーonMarkerclickをクリックしたときに我々はMarker.getTag()はヌルを返します

maker.setTag(obj); 

を行うのと同じように()と呼ばれ、私は、マーカーおよび第二の活動を開始し、詳細を示す

すべてのものが正常に動作し、ここでティル

上のgetTag()を呼び出すことによってOBJを取得しています。しかし、私はボタンを押して、そのマーカーを再度クリックすると、nullをmarker.getTag()から返します。以下は私のonMarkerClickメソッドです

@Override 
public boolean onMarkerClick(Marker marker) { 

    if (marker.getTag().toString().equals("JobSeeker")) { 
    // this is user current location show i dont want to do anything when marker is clicked 
     return false; 
    } 



    if (previousMarker != null && previousMarker.equals(marker)) { 
    //this code is executed if marker is clicked second time 

     LinkedTreeMap jobPost = (LinkedTreeMap) marker.getTag(); 
     marker.setTag(jobPost); 
     Intent intent = new Intent(this, JobSearchResultActivity.class); 
     intent.putExtra("JobPost", jobPost); 

     Toast.makeText(this, "jobPostdetails" , Toast.LENGTH_SHORT).show(); 
     startActivity(intent); 
    } else { 
    // just showing some toast that marker is selected 
     previousMarker = marker; 
     Toast.makeText(this, "selected" , Toast.LENGTH_SHORT).show(); 
     marker.showInfoWindow(); 

    } 

    return false; 
} 

私を助けてください。私はどこにいるのかわからない、あるいは愚かな間違いかもしれません。

答えて

0

マーカーデータをリロードする必要があると思います。例えば、

map.clear(); 
... 
List<CustomModel> models = getModels(); 
foreach(CustomModels m : models){ 
    Marker marker = googleMap.addMarker(
    new MarkerOptions() 
     .position(m.getLocation()) 
     .icon(BitmapDescriptorFactory.fromResource(R.drawable.img_userpin))); 
marker.setTag(m); 
} 
関連する問題