代码之家  ›  专栏  ›  技术社区  ›  thomas2k2k

从地图和列表中同时删除单个标记

  •  0
  • thomas2k2k  · 技术社区  · 8 年前

    在我的申请中,我有一个 ArrayList 标记,确切地说:

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

    我把记号笔放进去了 阵列列表 如下:

    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 从地图上看。我怀疑这只会从列表中删除最后一个标记,但不会从地图中删除,并且不知道如何处理它。

    1 回复  |  直到 8 年前
        1
  •  3
  •   Demonsoul    8 年前

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