gpt4 book ai didi

android - 在添加另一个之前检查现有标记

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:48:20 25 4
gpt4 key购买 nike

谷歌地图 API v2
在等待另一个应用程序完成时,我出于兴趣创建了另一个应用程序,一次只能将 1 个标记添加到 map (我喜欢我做的 map )。

我目前有这段代码,如果标记已经存在,它将清除 map ,然后添加另一个标记。但我想要的是它显示一条消息,告诉用户在允许添加另一个标记之前清除 map 。

@Override
public void onMapClick(LatLng position){
if (position != null){
mMap.clear();
mMap.addMarker(new MarkerOptions()
.position(position)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher_new)));
}
else {
mMap.addMarker(new MarkerOptions()
.position(position)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher_new)));
}
}

我试过:

@Override
public void onMapClick(LatLng position){
if (position != null){
Toast.makeText(this, "Clear map before adding another location", Toast.LENGTH_SHORT).show();

}
else {
mMap.addMarker(new MarkerOptions()
.position(position)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher_new)));
}
}

但是即使没有标记存在,它所做的只是显示我想要的消息,因此您实际上不能添加任何标记。我应该在这里使用 ArrayList 吗?根据设计,该应用程序一次只允许使用 1 个标记。在询问之前,我环顾四周,没有找到任何符合我需求的东西。

谢谢

这是我编辑过的代码,但仍然不起作用:

@Override
public void onMapLongClick(LatLng position) {
mMap.clear();
Toast.makeText(this, "Position Cleared", Toast.LENGTH_SHORT).show();
position = null;
}

@Override
public void onMapClick(LatLng position){
if (position != null){
Toast.makeText(this, "Clear first", Toast.LENGTH_SHORT).show();
/*mMap.clear();
mMap.addMarker(new MarkerOptions()
.position(position)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher_new)));*/
}
else {
mMap.addMarker(new MarkerOptions()
.position(position)
.icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_launcher_new)));
}
}

在使用 onMapLongClickListener 清除 map 后,它仍然不让我添加标记

最佳答案

addMarker 返回一个 Marker 对象,您可以使用它来更新或指示您已经创建了 Marker。

您还可以使用 Marker 对象将其从 map 中移除,而不是使用 clear() 来移除所有标记。

伪代码:

Marker marker;

if(marker == null) {
marker = map.addMarker(...)
} else {
....
}

关于android - 在添加另一个之前检查现有标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22957488/

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