2013-08-16 5 views
-3

У меня возникли трудности с получением карты для инициализации загрузки окна. Проблема по существу такая же, как и this question, за исключением того, что я уже не использую jQuery для создания карты, поэтому решение, представленное там, не распространяется на меня. Мой код выглядит следующим образом:google maps api v3 неправильно загружается

function initialize() { 
    var mapOptions = { 
    zoom: 14, 
    center: new google.maps.LatLng(43.703918,-79.422789), 
    mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

    var map = new google.maps.Map(document.getElementById('location-canvas'), 
    mapOptions); 

    var marker = new google.maps.Marker({ 
    map: map, 
    draggable: false, 
    position: new google.maps.LatLng(43.703918,-79.422789) 
    }); 
} 

google.maps.event.addDomListener(window, 'resize', initialize); 
google.maps.event.addDomListener(window, 'load', initialize);  

При загрузке карты появляется от центра, с отсутствующими тайлами, но если настроить размер окна даже пиксель, он исправляет себя.

Редактировать: Я использую эту структуру CSS/Javascript: nacodes.com/2013/04/23/Fullscreen-Layout-with-Page-Transitions Проблема заключается в том, что в то время, когда она нарисована, карта div не правильный размер. И как только размер до полного размера изменится на размер, он сразу же исправит его. Но первая ничья глючит. Я провел день, пытаясь выяснить, есть ли хороший способ решить, когда повторно инициализировать карту после перехода CSS, которая не вызывает других проблем.

+0

Как выглядит ваш HTML-код? Это действительно? Вероятно, вы должны активировать событие изменения размера карты google на карте внутри вашей функции инициализации. Опубликованный код работает отлично для меня (с HTML по мере необходимости). – geocodezip

+0

http://www.geocodezip.com/v3_SO_simpleMap_resizeOnLoad.html – geocodezip

+0

@geocodezip Я использую этот CSS рамки/Javascript: nacodes.com/2013/04/23/Fullscreen-Layout-with-Page-Transitions Проблема кажется, что в то время, когда оно нарисовано, карта div не соответствует правильному размеру. И как только размер до полного размера изменится на размер, он сразу же исправит его. Но первая ничья глючит. Я провел день, пытаясь выяснить, есть ли хороший способ решить, когда повторно инициализировать карту после перехода CSS, которая не вызывает других проблем. Например, если я делаю это на webkitTransitionEnd, он перерисовывается 9 раз и продолжает перерисовку навсегда в моем мобильном браузере. –

ответ

0

Загружается ли карта в скрытый элемент div /? Если это так, покажите, что div перед загрузкой карты. Посмотрите на этот вопрос: Google Maps loading strangely

+0

Он не загружается в скрытый div, но он загружается в div, который скрывается с помощью CSS. Я использую эту структуру: http://www.nacodes.com/2013/04/23/Fullscreen-Layout-with-Page-Transitions Карта загружается на загрузку страницы, но загружается в div, размер которого меньше чем карта будет, когда ее раздел будет расширен. Кажется, это источник проблемы. Я пытаюсь понять, как его перерисовать при расширении, но я не могу просто использовать webkitTransitionEnd, потому что во время перехода он срабатывает примерно 9 раз. –

Смежные вопросы