Как объявить объект и назначить его свойства позже - PullRequest
0 голосов
/ 28 мая 2019

У меня есть пример ниже, который создает Google Rectangle Object.Я хочу только объявить объект, что-то вроде «rectangle = new google.maps.Rectangle ()», а затем получить доступ к его свойствам, например «rectangle.bounds», но кажется, что это не работает

rectangle = new google.maps.Rectangle({
    bounds: bounds,
    editable: true,
    draggable: true
});

Ответы [ 3 ]

0 голосов
/ 28 мая 2019
var rectangle = {}
rectangle = new google.maps.Rectangle({
            bounds: bounds,
            editable: true,
            draggable: true
          });

попробуйте как указано выше, пожалуйста

0 голосов
/ 28 мая 2019

Согласно документам класс 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);
0 голосов
/ 28 мая 2019

bounds это не свойство, а параметр конструктора. CMIIW.

Согласно документации свойство bounds можно получить методом getBounds()

Это должно работать. Я не пробовал var bounds = rectangle.getBounds()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...