Проблемы с динамической интеграцией с Google Maps - PullRequest
1 голос
/ 07 июля 2010

Я столкнулся с очень странной проблемой с Картами Google в Chrome 5.0.375.99: если вы динамически создаете более одного экземпляра Карты, второй и более странный имеют ошибку, которая не отображается должным образом, отображается только вдоля пространства карты.

Некоторые примеры страниц:
один по умолчанию - Когда вы нажимаете addOne, возникает проблема с новым объектом.
нет по умолчанию - Когда вы нажимаете addOne во второй раз, возникает проблема с новым объектом.
two default - Обе исходные карты отображаются правильно, но когда вы нажимаете addOne, проблема возникает у нового объекта.

Действительно странным моментом является то, что изменение размера окна заставит любые неправильно отображаемые карты отображаться правильно, чтобы исправить себя.Это заставляет меня поверить, что это исправляет событие перерисовки

1 Ответ

1 голос
/ 12 июля 2010

Crescent Fresh верен в том, что размер div должен быть установлен перед инициализацией новой карты в div.

Чтобы установить высоту ширины перед созданием div карты, вы можете попробовать следующее:

return this.each(function(){
    var jT = $(this),
            center = new mAPI.LatLng(options.lat, options.long),
            geocoder = new mAPI.Geocoder();

    jT.css({
        'width': hw[0],
        'height': hw[1],
        'margin-left': 'auto',
        'margin-right': 'auto'
    });

    jT.data('map', new mAPI.Map(this, $.extend(options, { center: center })));

    geocoder.geocode({ address: address }, function(results, status) {
        if (status === mAPI.GeocoderStatus.OK && results.length) {
            if (status !== mAPI.GeocoderStatus.ZERO_RESULTS) {
                jT.data('map').setCenter(results[0].geometry.location);
                var dump = new mAPI.Marker({
                        position: results[0].geometry.location,
                        map: jT.data('map')
                });
                return dump;
            }
        }
    });
});

вышеприведенный 'должен' работать, не проверял его, хотя

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