Google Maps API v3:如何删除所有标记? [英] Google Maps API v3: How to remove all markers?

查看:179
本文介绍了Google Maps API v3:如何删除所有标记?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Google Maps API v2中,如果我想要移除所有地图标记,则可以简单地执行:

  map。提供clearOverlays(); 

我如何在Google Maps API v3 中执行此操作?

>

查看参考API ,但我不清楚。

解决方案

只需执行以下操作:

I。声明一个全局变量:

  var markersArray = []; 

二。定义一个函数:

  function clearOverlays(){
for(var i = 0; i< markersArray.length ; i ++){
markersArray [i] .setMap(null);
}
markersArray.length = 0;

OR



<$ p ($ var $ =; i< markersArray.length; i ++){
markersArray [code $ google.gif.map.prototype.clearOverlays = function I] .setMap(空);
}
markersArray.length = 0;
}

三。在调用以下代码之前,在'markerArray'中推动标记:

  markersArray.push(marker); 
google.maps.event.addListener(marker,click,function(){});

四。在任何需要的地方调用 clearOverlays(); map.clearOverlays(); 函数。 b

就是这样!!


In Google Maps API v2, if I wanted to remove all the map markers, I could simply do:

map.clearOverlays();

How do I do this in Google Maps API v3?

Looking at the Reference API, it's unclear to me.

解决方案

Simply do the following:

I. Declare a global variable:

var markersArray = [];

II. Define a function:

function clearOverlays() {
  for (var i = 0; i < markersArray.length; i++ ) {
    markersArray[i].setMap(null);
  }
  markersArray.length = 0;
}

OR

google.maps.Map.prototype.clearOverlays = function() {
  for (var i = 0; i < markersArray.length; i++ ) {
    markersArray[i].setMap(null);
  }
  markersArray.length = 0;
}

III. Push markers in the 'markerArray' before calling the following:

markersArray.push(marker);
google.maps.event.addListener(marker,"click",function(){});

IV. Call the clearOverlays(); or map.clearOverlays(); function wherever required.

That's it!!

这篇关于Google Maps API v3:如何删除所有标记?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆