Marker.getTag()返回null。

3

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

maker.setTag(obj); 

当我点击标记时,会调用onMarkerclick()方法,并通过在标记上调用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;
}

请帮助我,我不知道哪里出错了,或者可能是一些愚蠢的错误。

1个回答

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接