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)时出现的问题;因此,现在只有一个矩形,当他们单击“查找”按钮时,只有一个矩形出现。谢谢你的帮助