Google maps 从谷歌地图中删除矩形

Google maps 从谷歌地图中删除矩形,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,我正在使用谷歌地图v3(javascript)。加载地图时,我按以下方式绘制矩形: <script type="text/javascript"> // Global variables var map; /** * Called on the initial page load. */ function init() { map = new google.maps.Map(document.getElementById('map'), {

我正在使用谷歌地图v3(javascript)。加载地图时,我按以下方式绘制矩形:

<script type="text/javascript">
  // Global variables
  var map;

  /**
   * Called on the initial page load.
   */
  function init() {

    map = new google.maps.Map(document.getElementById('map'), {
      'zoom': 6,
      'center': new google.maps.LatLng(41.87194,12.567379999999957),
      'mapTypeId': google.maps.MapTypeId.ROADMAP
    });

    //Region Overlay
    var latLng1;
    var latLng2;

    <?php foreach ($this->arrRegion as $region) { ?>
        latLng1 = new google.maps.LatLng(<?php echo $region['boundLat1_region']; ?>,<?php echo $region['boundLng1_region']; ?>);
        latLng2 = new google.maps.LatLng(<?php echo $region['boundLat2_region']; ?>,<?php echo $region['boundLng2_region']; ?>);
        redraw(latLng1,latLng2);
    <?php }?>

  }

  /**
   * Updates the Rectangle's bounds to resize its dimensions.
   */
  function redraw(latLng1,latLng2) {
    var latLngBounds = new google.maps.LatLngBounds(latLng1,latLng2);
     // Create a new Rectangle overlay
    var rectangle = new google.maps.Rectangle({map: map, bounds: latLngBounds});
  }

  // Register an event listener to fire when the page finishes loading.
  google.maps.event.addDomListener(window, 'load', init);
</script>

//全局变量
var映射;
/**
*在初始页面加载时调用。
*/
函数init(){
map=new google.maps.map(document.getElementById('map'){
“缩放”:6,
“中心”:新的google.maps.LatLng(41.87194,12.567379999957),
“mapTypeId”:google.maps.mapTypeId.ROADMAP
});
//区域覆盖
var latLng1;
var latLng2;
latLng1=新的google.maps.LatLng(,);
latLng2=新的google.maps.LatLng(,);
重新绘制(latLng1,latLng2);
}
/**
*更新矩形的边界以调整其尺寸。
*/
函数重绘(latLng1、latLng2){
var latLngBounds=新的google.maps.latLngBounds(latLng1,latLng2);
//创建一个新的矩形覆盖
var rectangle=new google.maps.rectangle({map:map,bounds:latLngBounds});
}
//注册一个事件侦听器,以便在页面完成加载时触发。
google.maps.event.addDomListener(窗口'load',init);

现在,我的目标是删除矩形。我试着用了地图,但没用。有什么建议吗?

google.maps.Rectangle类有一个setMap方法。如果将null传递给该值,则矩形将被删除。看

请注意,这意味着您需要保留矩形的实例,以便可以调用setMap方法。redraw函数中的局部矩形变量将不会保持不变,除非再次使用相同的latLng对调用redraw。

可以在每次redraw()调用时使用带有null输入参数的setMap()函数

//全局变量
var映射;
var矩形;
/**
*在初始页面加载时调用。
*/
函数init(){
map=new google.maps.map(document.getElementById('map'){
“缩放”:6,
“中心”:新的google.maps.LatLng(41.87194,12.567379999957),
“mapTypeId”:google.maps.mapTypeId.ROADMAP
});
//区域覆盖
var latLng1;
var latLng2;
latLng1=新的google.maps.LatLng(,);
latLng2=新的google.maps.LatLng(,);
重新绘制(latLng1,latLng2);
}
/**
*更新矩形的边界以调整其尺寸。
*/
函数重绘(latLng1、latLng2){
var latLngBounds=新的google.maps.latLngBounds(latLng1,latLng2);
//删除上一个矩形
if(矩形)
矩形.setMap(空);
//创建一个新的矩形覆盖
矩形=新的google.maps.rectangle({map:map,bounds:latLngBounds});
}
//注册一个事件侦听器,以便在页面完成加载时触发。
google.maps.event.addDomListener(窗口'load',init)