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

如何从谷歌地图中删除单个标记

谭嘉容
2023-03-14

我正在谷歌地图上工作,我试图添加标记到谷歌地图,然后试图删除它,但现在我已经完成了添加和删除下面的代码

    <html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
<title>MapsApi</title>

<style>
      #map_canvas {
        width: 100%;
        height: 500px;
        background-color: #CCC;
      }

      #menu_bar{
        width: 100%;
        height: 150px;
        position:absolute;
        bottom:0px;
        background-color: #CCC;
        border-top:1px solid red;
      }
      body{
        padding:0px;
        margin:0px;

      }
</style>
<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var map;
var markers = [];
 function initialize() {
  var myLatlng = new google.maps.LatLng(44.5403, -78.5463);
  var mapOptions = {
    zoom: 4,
    center: myLatlng
  }
  var map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);

    google.maps.event.addListener(map, 'click', function(event) {
        addMarker(event.latLng);
      });


    // add marker to positon
    function addMarker(location) {
         var marker = new google.maps.Marker({
                position: location,
                map: map
            });
    google.maps.event.addListener(marker, 'click', function(event) {
        this.setMap(null);
        });

         markers.push(marker);
    }

    // Sets the map on all markers in the array.
        function setAllMap(map) {
          for (var i = 0; i < markers.length; i++) {
            markers[i].setMap(map);


          }
        }




}

google.maps.event.addDomListener(window, 'load', initialize);

</script>


</head>

<body>
<div id="map_canvas"></div>
<div id="menu_bar">
</div>



</body>
</html>

但是现在有一个问题,我应该如何设置标记的值。推(标记),因为我删除了一个标记,所以它的值必须小于预期存储的值。。有人能帮忙吗

共有1个答案

唐阳飙
2023-03-14

更简单的答案是不从markers数组中删除标记。您所要做的就是确定要从映射中删除的标记,然后使用setMap(null)

markers[indexOfMarker].setMap(null);

如果要在某个点重新添加标记,可以使用以下方法

markers[indexOfMarker].setMap(map);
 类似资料:
  • 我已经尝试在这里和谷歌地图API留档上查看了大量的代码块,但仍然无法找出如何隐藏标记。 这是我正在使用的当前代码,它在一个实例中有效。有一次,我在带有标记的函数中添加了“for”循环。setMap(null)Firefox显示以下错误: markers.set地图不是一个函数 附加信息:校园地图和完整代码(不包括地图API)

  • 从map中移除标记的唯一方法是clear。但是,它会清除地图上的所有标记。 我怎么能做到这一点?

  • 我想删除蓝点在Android谷歌地图。我尝试了,但无法获得位置信息。我试图找到正确的方法,但没有得到正确的答案。我希望正确的答案和样本项目。谢谢最好的问候

  • 我想更改Google Maps上选定的标记图标,因此我有以下代码: 在这一行,我从下面得到错误: 例外情况如下:

  • 我成功创建了一个活动,用户可以在其中发布他的状态并将他的当前位置放置在android工作室中创建的google map中。我还尝试在map中查看所有其他用户,我成功地做到了。但是,随着他们的位置发生变化,不断增加。我想实现这样一种情况,即用户在移动时可以在地图上看到彼此,并且这些也会相应地移动。我使用Firebase作为我的后端来存储他们的位置和状态。这是我想出的代码。 请帮帮我!提前感谢!:)

  • 我在我的flutter应用程序中使用google_maps_flutter来使用谷歌地图我有自定义标记图标,我用BitmapDescriptor.from字节(mark erIcon)加载它,但我想用一些文本显示Url的图标。 这就是我们要达到的目的 是否可以通过flutter或任何可以动态创建图像的外部图像依赖来实现相同的效果。