Maps 如何阻止谷歌地图在点击按钮后绘制第二个矩形

Maps 如何阻止谷歌地图在点击按钮后绘制第二个矩形,maps,rectangles,Maps,Rectangles,我正在使用下面的代码在地图上绘制一个矩形到一个随机的长边。单击“查找”按钮时基于城市名称。问题是,如果您没有输入不同的城市名称,并单击“查找”按钮,程序将在城市原始纵横图上绘制第二个矩形。我要么需要清除地图并重新绘制矩形,要么不太确定,这样就无法绘制第二个矩形。这是我正在使用的代码 function codeAddress() { var address = document.getElementById("gadres").value; if(addr

我正在使用下面的代码在地图上绘制一个矩形到一个随机的长边。单击“查找”按钮时基于城市名称。问题是,如果您没有输入不同的城市名称,并单击“查找”按钮,程序将在城市原始纵横图上绘制第二个矩形。我要么需要清除地图并重新绘制矩形,要么不太确定,这样就无法绘制第二个矩形。这是我正在使用的代码

    function codeAddress() {
        var address = document.getElementById("gadres").value;

        if(address=='') {
            alert("Address can not be empty!");
            return;

        }


        geocoder.geocode( { 'address': address}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {

                map.setCenter(results[0].geometry.location);
                document.getElementById('lat').value=results[0].geometry.location.lat().toFixed(6);
                document.getElementById('lng').value=results[0].geometry.location.lng().toFixed(6);
                var latlong = "(" + results[0].geometry.location.lat().toFixed(6) + " , " +
                + results[0].geometry.location.lng().toFixed(6) + ")";

                map.setZoom(15);

                var mapcenter = map.getCenter();
                var maplat = mapcenter.lat();
                var maplng = mapcenter.lng();

                var bounds = new google.maps.LatLngBounds(
                    new google.maps.LatLng(maplat - 0.002, maplng - 0.002),
                    new google.maps.LatLng(maplat + 0.002, maplng + 0.002)
                );

                var rectangle = new google.maps.Rectangle({
                    bounds: bounds,
                    draggable:true,
                    editable: true,
                    strokeColor: '#FF0000',
                    strokeOpacity: 0.8,
                    strokeWeight: 4,
                    fillColor: '#FF0000',
                    fillOpacity: 0.30,
                });

                rectangle.setMap(map);

                google.maps.event.addListener(rectangle, 'bounds_changed', function() {
                    document.getElementById('coords').value = rectangle.getBounds();

                });


            } else {
                alert("Lat and long cannot be found.");
            }
        }); 

    } 

非常感谢大家的帮助

我还没有尝试过这一点,但也许可以将边界存储到数组中,然后使用equals()方法对该数组使用循环语句检查是否存在相等的边界

我解决了使用矩形.setMap(null)时出现的问题;因此,现在只有一个矩形,当他们单击“查找”按钮时,只有一个矩形出现。谢谢你的帮助