Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.12.2013, 20:13
Новичок на форуме
Отправить личное сообщение для gumapumba Посмотреть профиль Найти все сообщения от gumapumba
 
Регистрация: 16.12.2013
Сообщений: 8

подгрузка страниц AJAX и гугл карта, карта не подгружается
Помогите пожалуйста! , у меня все содержимое страничек сайта подгружается динамически с помощью AJAX. Тоесть я выбираю в меню "Контакты" или "Портфолио", и сайт не обновляется а просто в контейнере меняется содержимое.
1 в 1 как в этом уроке
то есть у меня в div блок все подгружается
<div id="content"> <!--содержимое --> </div>

И тут такая проблемма, я вставил на страничку "Контакты" гугл карту, если открыть страницу "Контакты" напрямую, тоесть "..\testweb\contact.html" то карта работает, но если перейти на другую страницу к примеру "Портфолио" а потом обратно в "Контакты" то карта перестает работать (вообще не отображается) что бы она загрузилась нужно в браузере обновить страницу.. (если на сайт перейте с index.html и перейти на вкладку "Контакты" с гугл картой то само собой она то же не отображается) И вот вопрос, что нужно дописать в скрипте что бы содержимое с картой обновлялось?
Карту я взял от сюда - карта
(как я написал выше, когда она не отображаеться то просто розовый фон)
Ну и код целиком
<div id="content">
            <div id="page">
        <div class="gMap-holder" id="map_canvas"></div>
<script type="text/javascript">
            function loadScript() {
                var script = document.createElement("script");
                script.type = "text/javascript";
                script.src = "http://maps.googleapis.com/maps/api/js?sensor=true&callback=initializeMap"  ;
                document.body.appendChild(script);
            }
            if (window.addEventListener) window.addEventListener("load", loadScript, false);
            else if (window.attachEvent) window.attachEvent("onload", loadScript);
 
            function initializeMap(){
                var myLatlng = new google.maps.LatLng(44.948498, 34.088227);
                var myOptions = {
                    zoom: 17,
                    scrollwheel: false,
                    center: myLatlng,
                    mapTypeId: google.maps.MapTypeId.ROADMAP,
                    mapTypeControlOptions: {
                        position: google.maps.ControlPosition.BOTTOM_LEFT
                    }
                }
                var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
 
                var markerImage = new google.maps.MarkerImage(
                        'images/bg-num.png',
                        new google.maps.Size(33,33),
                        new google.maps.Point(0,0),
                        new google.maps.Point(0,33)
                );
                var markerImageHover = new google.maps.MarkerImage(
                    'images/bg-num.png',
                    new google.maps.Size(33,33),
                    new google.maps.Point(0,33),
                    new google.maps.Point(0,33)
                );
 
                var marker = new google.maps.Marker({
                    icon: markerImage,
                    position: myLatlng, 
                    map: map,
                    title:"test-CRIMEA"
                });
 
                var content = document.createElement('div');
                content.innerHTML = "<strong>Мояковского,12</strong>CRIMEA";
                var infowindow = new google.maps.InfoWindow({
                  content: content
                });
 
                google.maps.event.addListener(marker, 'click', function() {
                    infowindow.open(map, marker);
                });
 
                google.maps.event.addListener(marker, 'mouseover', function() {
                    marker.setIcon(markerImageHover);
                });
 
                google.maps.event.addListener(marker, 'mouseout', function() {
                    marker.setIcon(markerImage);
                });
            }
        </script>
</div>
    </div>
Ответить с цитированием
  #2 (permalink)  
Старый 25.09.2015, 16:25
Новичок на форуме
Отправить личное сообщение для suphler Посмотреть профиль Найти все сообщения от suphler
 
Регистрация: 25.09.2015
Сообщений: 1

возможно причина в том что к ккарте просто не прилетает событие window.load? его же не происходит при динамической подкгузке содержимого.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги по Ajax BaVa Учебные материалы 18 18.08.2013 14:05
При подгрузке страницы через AJAX JS не отрабатывается, но подгружается vityurov Общие вопросы Javascript 2 20.06.2013 12:24
Загрузка страниц с помощью ajax radikal AJAX и COMET 3 29.11.2012 16:26
tabbed интерфейс + ajax подгрузка страниц dimiork Элементы интерфейса 1 25.11.2010 22:35
Ajax. Полноценная подгрузка страниц, содержащих CSS и JS. Alex22 AJAX и COMET 6 05.11.2008 23:53