Android Marker.getTag()返回null

Android Marker.getTag()返回null,android,google-maps,google-maps-api-3,google-maps-markers,Android,Google Maps,Google Maps Api 3,Google Maps Markers,在我的代码中,我有两个活动:第一个活动在地图上显示标记,第二个活动显示有关该标记的信息。在异步任务中,我搜索某个位置并将信息对象作为标记添加到标记。就像我们一样 maker.setTag(obj); 当我点击marker时,会调用markerclick()并通过调用marker上的getTag()获得obj,第二个活动开始并显示详细信息 直到这里一切都很好。但当我按下后退按钮并再次单击该标记时,它从marker.getTag()返回null。下面是我的onMarkerClick方法 @Ove

在我的代码中,我有两个活动:第一个活动在地图上显示标记,第二个活动显示有关该标记的信息。在异步任务中,我搜索某个位置并将信息对象作为标记添加到标记。就像我们一样

maker.setTag(obj); 
当我点击marker时,会调用markerclick()并通过调用marker上的getTag()获得obj,第二个活动开始并显示详细信息

直到这里一切都很好。但当我按下后退按钮并再次单击该标记时,它从marker.getTag()返回null。下面是我的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;
}

请帮帮我。我不知道我在哪里,或者这可能是一个愚蠢的错误

我想你必须重新加载标记数据。比如说

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);
}
map.clear();
...
List models=getModels();
foreach(自定义模型m:模型){
Marker=googleMap.addMarker(
新标记选项()
.position(m.getLocation())
.icon(BitmapDescriptorFactory.fromResource(R.drawable.img_userpin));
标记。设置标记(m);
}