刷新谷歌地图上的圆圈

时间:2012-12-18 07:40:12

标签: google-maps google-maps-api-3 google-maps-markers

我正在实施一个应用程序,我必须在地图中心显示带有圆圈的谷歌地图。我可以在地图上绘制一个圆圈,但几秒钟后我就要更新圆的半径。我想使用相同的map实例而不是创建新的实例。 当我创建新圆圈时,它在旧圆圈上重叠。我想删除以前添加的圈子并显示新的圈子。 在检查api的时候,我从Circle类中获得了这个隐藏圆圈的方法。 myCity.setOptions({可见:假});

但问题是我无法访问旧的圆圈实例。 有没有什么方法可以让我获得分配给该地图的地图标记和信息框并删除它们? 下面的方法将被称为几秒钟的间隔

function mapByCoordinates()
{
var lat=document.getElementById("latValue").value;
var lng=document.getElementById("lngValue").value;
var accuracy = document.getElementById("zoomValue").value;
var zoomVal=getZoomBasedOnAccuracy(accuracy);
var zm = parseInt(zoomVal);
var tempRadius = getRadiusBasedOnAccuracy(accuracy);
var amstr = new google.maps.LatLng(lat,lng);

var mapProp = {
  center:amstr,
  zoom:zm,
  mapTypeId:google.maps.MapTypeId.HYBRID
  };  

  map.setOptions(mapProp); 


  myCity.setOptions({visible:false}); 
  infobox.close();
  myCity = new google.maps.Circle({
  center:amstr,
  radius:tempRadius  

  }); 

  marker=new google.maps.Marker({
  position:amstr,
  }); 
myCity.setMap(map);
myCity1.setMap(map1);

infobox = new google.maps.InfoWindow({
              content:"Welcome to google map",
              disableAutoPan:true
});
infobox.open(map,marker);


map.panTo(amstr);
map.setZoom(19);
}

由于

2 个答案:

答案 0 :(得分:5)

我们可以使用以下方法在谷歌地图上隐藏已绘制的圆圈 circle.setOptions({可见:假}); 并且可以使该映射的实例为空。

答案 1 :(得分:2)

尝试circle.setRadius(radiusvalue)