1

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

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

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

谢谢

4

2 回答 2

5

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

于 2013-01-22T11:04:01.253 回答
2

尝试circle.setRadius(radiusvalue)

于 2017-02-26T16:50:50.577 回答