Google Maps API - изменение размера создает пустое пространство - PullRequest
2 голосов
/ 09 августа 2010

Я работаю над тем, что выглядело как очень простая функция, вызывающая небольшую головную боль.

Я работаю с ГИС, и мы интегрируем ее с Google Maps. Один из клиентов запросил возможность открыть отдельное всплывающее окно, отображающее только карту. Открытие окна не было проблемой, но когда я пытаюсь увеличить ширину IFrame, который содержит карту, чтобы соответствовать размеру окна, фактическое изображение карты остается того же размера, а оставшееся пространство заполняет оставшиеся пространство.

Интересно, нужно ли передать новое значение ширины какой-либо функции предварительного рендеринга или что-то в этом роде ... Я уже пытался использовать checkResize (), но это оказалось не сработало.

Функция, которую я использую для рисования карты, IFrame ниже:

DrawMapIFrame()
{
   var str = '<iframe id="mapIFrame" name="mapIFrame" width="97%" height="' + parent.mapFrameHeight + '" src="' + $_URL_FleetMonitiorMapIFrame + '?UserID=' + parent.$_UserID + '&Encoding=' + parent.$_Encoding + '&id=' + _id +  '" frameborder="0" scrolling="No"></iframe>';
    document.getElementById("mapIFramePlace").innerHTML = str;
}

1 Ответ

8 голосов
/ 09 августа 2010

Либо вам нужно расширить div до желаемого размера до создания карты, либо вам нужно использовать

google.maps.event.trigger(map, 'resize') 

для информирования API об изменении размера контейнера.

...