Карта Google проблема

ModuLe

Постоялец
Регистрация
8 Сен 2015
Сообщения
48
Реакции
11
Ребят что может быть за проблема, если сайт на нем карта Google загружен с помощью js скрипта, иногда загрузываеться карта а иногда нет и выбивает такую ошибку: Uncaught TypeError: window.initializeMap is not a function

Код:
<div class="map-wrapper">
                    <div class="map-canvas" id="map-canvas">Завантаження карти...</div>
</div>

<script>
//Initialize google map for contact setion with your location.

function initializeMap() {

    var lat = '49.8477374'; //Set your latitude.
    var lon = '24.0247954'; //Set your longitude.

    var centerLon = lon - 0.0105;

    var myOptions = {
        scrollwheel: false,
        draggable: false,
        disableDefaultUI: true,
        center: new google.maps.LatLng(lat, centerLon),
        zoom: 16,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    //Bind map to elemet with id map-canvas
    var map = new google.maps.Map(document.getElementById('map-canvas'), myOptions);
    var marker = new google.maps.Marker({
        map: map,
        position: new google.maps.LatLng(lat, lon),
    });

    var contentString =
      '<div class="contact-form">'+
      '<h3>text</h3>'+
      '<p class="gallery"><b>on</b><br />' +
      '<b>map</b><p>' +
      '</div>';
     
    var infowindow = new google.maps.InfoWindow({
    content: contentString
  });

    google.maps.event.addListener(marker, 'click', function () {
        infowindow.open(map, marker);
    });

    infowindow.open(map, marker);
}
</script>

<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false&amp;callback=initializeMap"></script>
 
C сайта гугла код взят? попробуй посмотреть какой сейчас код он даёт, может поменялось чего.
 
C сайта гугла код взят? попробуй посмотреть какой сейчас код он даёт, может поменялось чего.
Странно один раз зашел по этому адресу код в 22 строк и вконце такая строка:
Для просмотра ссылки Войди или Зарегистрируйся

а Иногда открываеться тот же код в 22 строк и + 90 строк из этого скрипт - Для просмотра ссылки Войди или Зарегистрируйся

почему так? Обновляя пару раз браузер у вас так же?
 
А вот если что тема в которой проблемы, на сайте автора так же карта грузиться через раз... - Для просмотра ссылки Войди или Зарегистрируйся
 
у меня вообще не грузится карта, лендингов с таким блоком в интернете море. Возьми с работающего примера js и не парься.
 
А вот если что тема в которой проблемы, на сайте автора так же карта грузиться через раз...
не успевает загрузиться ядро гуглмапс, поэтому и выскакивает такое сообщение
Uncaught TypeError: window.initializeMap is not a function
И еще непонятно, почему объявление переменной происходит ПОСЛЕ ее вызова. Возможно в этом ошибка - Для просмотра ссылки Войди или Зарегистрируйся - достаточно перенести строку объявления переменной выше. Потому как скрипт может валиться на ошибку в месте вызова необъявленной переменной и следующая команда (вызов ядра гуглмапс) не отрабатывает просто.
 
не успевает загрузиться ядро гуглмапс, поэтому и выскакивает такое сообщение

И еще непонятно, почему объявление переменной происходит ПОСЛЕ ее вызова. Возможно в этом ошибка - Для просмотра ссылки Войди или Зарегистрируйся - достаточно перенести строку объявления переменной выше. Потому как скрипт может валиться на ошибку в месте вызова необъявленной переменной и следующая команда (вызов ядра гуглмапс) не отрабатывает просто.
Так значит проблема на сайти гугл? Или я чего-то не понял) Потому что код что на скриншоте это с сайта Google Maps API...
 
гм. признаю - глянул по верхам. Давайте разберемся по порядку:
1) <script type="text/javascript" src="Для просмотра ссылки Войди или Зарегистрируйся"></script>
подключается гугл-мапс и коллбэком в строке подключения прописан вызов initializeMap. Данная функция определена до подключения карты и теоретически должна отрабатывать. Чего иногда не происходит и выскакивает сообщение "window.initializeMap is not a function". Предполагаю, что ядро гугл-карт не подгружается.
2) поглядел на сайте автора. Словил вашу ошибку. Мои предположения оказались правильными. Если после загрузки страницы выполнить в консоли window.initializeMap() - карта отлично стартует. Для просмотра ссылки Войди или Зарегистрируйся

Что делать:
1) убираем каллбэк из строки подключения
<script type="text/javascript" src="Для просмотра ссылки Войди или Зарегистрируйся"></script>
2) добавляем инициализацию карты после загрузки всей страницы
google.maps.event.addDomListener(window,'load', initializeMap);
 
гм. признаю - глянул по верхам. Давайте разберемся по порядку:
1) <script type="text/javascript" src="Для просмотра ссылки Войди или Зарегистрируйся"></script>
подключается гугл-мапс и коллбэком в строке подключения прописан вызов initializeMap. Данная функция определена до подключения карты и теоретически должна отрабатывать. Чего иногда не происходит и выскакивает сообщение "window.initializeMap is not a function". Предполагаю, что ядро гугл-карт не подгружается.
2) поглядел на сайте автора. Словил вашу ошибку. Мои предположения оказались правильными. Если после загрузки страницы выполнить в консоли window.initializeMap() - карта отлично стартует. Для просмотра ссылки Войди или Зарегистрируйся

Что делать:
1) убираем каллбэк из строки подключения
<script type="text/javascript" src="Для просмотра ссылки Войди или Зарегистрируйся"></script>
2) добавляем инициализацию карты после загрузки всей страницы
google.maps.event.addDomListener(window,'load', initializeMap);
Спасибо, а то я в скриптах явы слаб, неучил вовсем, незнал об этом)

Только что 5 раз обновил, все стабильно)

тему можно закрывать
 
Всем доброго времени суток, купили шаблон на сайт. Там встроенная гугл карта. Все подключили, ключ API добавили. Но при загрузке страницы он сперва на 1 секунду буквально показывает карту, а потом выдает ошибку ключа. Мол ключ не правильный. Как быть? что может быть? шаблон newstore.
 
Назад
Сверху