2014-01-14 4 views
0

У меня возникли проблемы с интеграцией API Google Maps v3 на моем веб-сайте. Вот мой код:Обеспечение загрузки карт Google

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=xxxx&sensor=true"></script><script> 
var map; 
function initialize() { 
var mapOptions = { 
    center: new google.maps.LatLng(<?php echo $lat;?>,<?php echo $lng;?>), 
    //center: new google.maps.LatLng(32.295439,-64.7795), 
    zoom: 17, 
    mapTypeId: google.maps.MapTypeId.SATELLITE 
}; 
map = new google.maps.Map(document.getElementById("map-canvas"), 
    mapOptions); 
var lL = new google.maps.LatLng(xxx,xxx); 
var marker = new google.maps.Marker({ 
     position: lL, 
     map: map 
    }); 
alert('map loaded') 
} 
google.maps.event.addDomListener(window, 'load', initialize); 
</script> 

В большинстве случаев предупреждение и отображение карты должным образом. Иногда появляется предупреждение, но на карте нет. Иногда не отображается ни предупреждение, ни карта. Сообщения об ошибках никогда не регистрируются.

Вот пример: bermudareservation.com/lodgings/sea-song/

Я проверил это во всех браузерах, и он показывает такое же поведение. Я использую WP, поэтому я попытался использовать плагин, но произошло то же самое.

Как я могу гарантировать, что карта загружается каждый раз, когда пользователь просматривает страницу?

UPDATE:

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

Uncaught ReferenceError: google is not defined 

Я не могу проследить это номер строки, потому что я не могу видеть JavaScript на инструментах отладки для какой-либо причины.

ответ

1

Я пробовал его около 15 раз, карта загружается каждый раз.

Но это занимает некоторое время, карта будет загружена OnLoad (когда все Ressources загружены), что для меня после 20-25 сек

Сначала вы должны оптимизировать страницу, чтобы ускорить загрузку время , например есть несколько изображений с размером> 1 МБ, до 2,8 МБ! , Я бы сказал, что это не для веб-страницы. Сохранение этих изображений с масштабированием до нужного размера и сжатие должно уменьшать размер до 10% от исходного

Полный размер загружаемых данных для этой страницы составляет около 20 МБ.

Кроме того, вам не нужно ждать load -вент, немедленно позвоните по телефону initialize. Карты обычно загружаются onload, чтобы гарантировать, что контейнер-карта уже известен, но на вашей странице контейнер уже известен, потому что скрипт, который инициализирует карту, помещается после контейнера-карты.

Вообще-то я хотел бы предложить посетить http://yslow.org/ для исполнения-руководств

+0

Хорошо, я могу сжать изображения .. Я пробовал решения, но иногда Google не определяется при инициализации вызывается – Cbas

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