Согласно документам класс Rectangle принимает необязательный параметр типа google.maps.RectangleOptions Это объект, который фактически содержит свойства, такие как bounds, editable и т. Д..
Если вы создаете новый экземпляр Rectangle, например
rectangle = new google.maps.Rectangle({
bounds: bounds,
editable: true,
draggable: true
});
, на самом деле существуют только три свойства, которые вы определили.Кроме того, свойство bounds будет неопределенным, поскольку ему назначена переменная bounds, которая не существует.
К сожалению, Google не предлагает прямой способ создания такого объекта RectangleOptions.
Таким образом, правильным способом было бы создать новый общий объект со всеми этими свойствами, доступными для объекта RectangleOptions , и передать их конструктору Rectangle.
var options = {
bounds: new google.maps.LatLngBounds(),
clickable: true,
draggable: false,
editable: false,
fillColor: '#FF0000',
fillOpacity: 1,
map: new google.maps.Map(""),
strokeColor: '#FF0000',
strokeOpacity: 1,
strokePosition: google.maps.StrokePosition.CENTER,
strokeWeight: 1,
visible: true,
zIndex: 1
}
var rectangle = new google.maps.Rectangle(options);
console.log(rectangle.bounds);