Должен ли элемент Google Map находиться в DOM при создании экземпляра? - PullRequest
2 голосов
/ 08 марта 2012

Я создаю экземпляр объекта Google Map следующим образом:

this.map = new google.maps.Map(this.el, {
    center: new google.maps.LatLng(this.lat, this.lng),
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    zoom: this.zoom
});

Где this.el - это объект, созданный с помощью document.createElement('div'), но еще не вставленный в DOM.Когда я позже добавляю this.el к DOM, я получаю карту, которая выглядит следующим образом (обратите внимание на все странное серое пространство):

http://cl.ly/3B3z1e3g2h1U301r0X1R

У меня нет этой проблемы, хотя, если я сначала добавлю this.el к DOM, а затем создаю экземпляр объекта карты.Есть ли способ создать карту и затем добавить ее?Это значительно упростит код моей карты (я использую это в представлениях Backbone.js).

Спасибо.

-Scott

1 Ответ

3 голосов
/ 08 марта 2012

После добавления this.el в DOM необходимо вызвать google.maps.event.trigger (this.map, 'resize');

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