从 Map 和 List 中一起删除单个标记

The remove of individual Marker from Map and List, together

在我的应用程序中,我有一个 ArrayList 标记,正好是:

   public ArrayList<Marker> listMarker = new ArrayList<Marker>();
    public int p = listMarker.size();
    public Marker singleMarker;

我在ArrayList中标记如下:

MarkerOptions options = new MarkerOptions()
                .position(latLng);
 listMarker.add(p, singleMarker = nMap.addMarker(options));

我在网站上寻找同样的问题,但我没有找到 现在我尝试这样做,每次单击按钮都会从地图和列表中删除最后一个标记。如果我有 5 个标记,点击次数为 4,下一次点击次数为 3,依此类推。但是不仅从榜单上看,还从地图上看,最大的问题

我的尝试是这样的:

deleteButton.setOnClickListener(new View.OnClickListener() {

    public void onClick(View view) {

        listMarker.remove(k);

    }
});

按钮未从地图中删除 Marker。我怀疑这只会从列表中删除最后一个标记,但不会从地图中删除并且不知道如何处理它。

目前您只是从列表中删除标记,地图将保留它直到您明确删除它...在标记上调用 remove 将其从地图中删除,如下所示:

deleteButton.setOnClickListener(new View.OnClickListener() {

    public void onClick(View view) {
        if (listMarker != null && !listMarker.isEmpty()) {
            listMarker.get(k).remove(); // Add this line
            listMarker.remove(k);
        }    
    }
});