当前位置: 首页 > 知识库问答 >
问题:

在Android中清除Google地图中的标记

阴永福
2023-03-14

我已经添加了片段活动地图,并使用addMarker函数添加了几个标记,但我能够删除所有标记,我收到了不同标记列表的通知,

现在我想删除所有标记并添加新标记。

一种将所有标记保留在列表中并逐个删除的方法,(marker.remove())

有没有更好的方法清除所有标记。

共有2个答案

笪烨
2023-03-14

如果您不希望清除折线,并且只需要删除标记,请按照以下步骤进行操作。

首先创建一个新的标记数组,如下所示

List<Marker> AllMarkers = new ArrayList<Marker>();

然后,当您在google地图上添加标记时,也会将其添加到标记数组(本例中为其所有标记)

for(int i=0;i<places.length();i++){

                LatLng location = new LatLng(Lat,Long);
                MarkerOptions markerOptions = new MarkerOptions();
                markerOptions.position(location);
                markerOptions.title("Your title");

                 Marker mLocationMarker = Map.addMarker(markerOptions); // add the marker to Map
                    AllMarkers.add(mLocationMarker); // add the marker to array

                }

最后调用下面的方法一次删除所有标记

 private void removeAllMarkers() {
        for (Marker mLocationMarker: AllMarkers) {
            mLocationMarker.remove();
        }
        AllMarkers.clear();

    }

从任意位置调用以删除所有标记

removeAllMarkers();

当我在寻找一种方法来只删除地图标记而不清除折线时,我发现了这个解决方案。希望这也能帮助你。

谷梁存
2023-03-14

如果要清除“地图中的所有标记、覆盖和多段线”,请在您的Google地图上使用清除()。

 类似资料:
  • 试图制作一个小的Android应用程序,以谷歌地图标记的形式显示人们的位置。 当用户按下按钮出现在地图上时,应用程序会从Firebase JSON中检索用户数据并在地图上实时显示用户。如果用户移动,标记会随着他一起移动(当他的位置发生变化时删除并重新创建)。 一切都很好,除了当用户按下离开地图时,他的标记会保留在所有其他手机中,即使它已从Firebase JSON中删除。 有人能解释一下如何解决这

  • 我使用如下标记选项将我的位置添加到地图中: 它怎么能把它从地图上删除呢? 回到过去,Marker Class有一个 remove() 方法,但 MarkerOptions 没有类似的方法......我还检查了mMap(这是一个GoogleMap),但没有运气......:(

  • 问题内容: 我在寻找类似c ++函数 的原始类型。 还是应该只创建一个新地图? 更新:谢谢您的回答。通过查看答案,我刚刚意识到有时创建新地图可能会导致某些我们不希望出现的不一致情况。考虑以下示例: 我的意思是,这仍然与c ++中的功能不同,后者将清除对象中的内容。 问题答案: 您可能应该只创建一个新地图。没有真正的理由去尝试清除现有的代码,除非同一段映射被多个代码引用,并且一个代码段明确需要清除值

  • 我有一堆标记,我可以在其中加载到谷歌地图上。我的问题是,相机不在标记之上。我可以将它集中在我所有的标记之上吗? 我正在使用以下代码添加标记: 我在堆栈上看了看,发现了这个问题,和我的问题一样: Android谷歌地图API V2中心标记 但它背后没有太多的背景,也不知道如何实现它。

  • 我正在开发一个使用Zomato Api获取附近餐馆的应用程序。我有一个片段,它向用户显示了所单击餐厅的详细信息。我的目标是在地图上显示餐厅的位置,但我很难做到这一点,因为我会出错。它只在活动中起作用吗?我是否必须将层次结构更改为FragmentActivity? 我得到的错误是:

  • 请参考截图。我想把图标放在确切的蓝点。 我使用下面的代码来显示地图中的图标。 我不想删除蓝点(GoogleMap.SetMyLocationEnabled)。我想把图标放在那个蓝点上。