gpt4 book ai didi

android - Marker.getTag() 返回 null

转载 作者:行者123 更新时间:2023-12-05 07:44:54 26 4
gpt4 key购买 nike

在我的代码中,我有两个 Activity ,第一个 Activity 在 map 上显示制造商,第二个 Activity 显示有关该标记的信息。在异步任务中,我正在搜索某个位置并将信息对象作为标签添加到制造商。就像我们一样

maker.setTag(obj); 

当我点击标记时 onMarkerclick() 被调用,我通过在标记上调用 getTag() 获得 obj,第二个 Activity 开始并显示详细信息

到这里一切正常。但是当我按下后退按钮并再次单击该标记时,它从 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);
}

关于android - Marker.getTag() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42437040/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com