Javascript.RU

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

скрипт, загружаемый с файлом в div не работает.
Здравствуйте уважаемые друзья. Такая проблема:

раньше я использовал карту гугл, с соответсвующим скриптом. все работало. Сейчас я загружаю этот же (почти, без начальных и конечных тегов) файл в <div> на странице, чтобы не было перезагрузки. Все идет нормально, все параметры и файлы принимаются, а вот карта не показывается. В чем проблема?

<body onload="initialize()" onunload="GUnload()">



    <script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyCWaxpCgZ9xIECrYGErCRls9aIeAV9aGDM&sensor=false"
            type="text/javascript"></script>
    <script type="text/javascript">

    function initialize() {
		alert ("asasasasas"); // тестовая строка - до нее не доходит
		var myLatlng = new google.maps.LatLng(40,40);
		var mapOptions = {
			center: myLatlng,
			zoom: 5,
			mapTypeId: google.maps.MapTypeId.TERRAIN,
			streetViewControl: false
			};
        var map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);
		var marker = new google.maps.Marker({
			position: myLatlng,
			map: map,
			draggable: true });
		
		google.maps.event.addListener(marker, "dragend", function() { // как только перетащили
		document.getElementById('spot-lat').value = marker.getPosition().lat(); // переписываем широту
   		document.getElementById('spot-longi').value = marker.getPosition().lng(); // и долготу
		});
		document.getElementById('spot-lat').value 	= 40; 
		document.getElementById('spot-longi').value = 40; 
 	 }
    </script>

<div id="map_canvas" style="width: 640px; height: 480px"></div>
<p>
<input type="text" name="lat" id="spot-lat" value="" />
<input type="text" name="longi" id="spot-longi" value="" />
</p>	
</BODY>


поставил тестовую строку alert ("asasasasas"); до нее не доходит, то есть функция не запускается, событие onload не происходит

пытался убрать тег body, и исполнение функции привязать к готовности док-та $(document).ready(function (){......}), но бесполезно.

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

Последний раз редактировалось ask67, 16.09.2014 в 06:56.
Ответить с цитированием
  #2 (permalink)  
Старый 16.09.2014, 08:03
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Во первых - смотрим в консоль на предмет ошибок.
Во вторых как ты вызываешь функцию initialize() и ты вообще вызываешь ее?
В третьих у тебя вставляется два скрипта - гугл либа и сразу же ее вызов, а что если она еще не загрузилась? Правильно,ошибка. Либу переместить в head а во втором скрипте после объявления функции initialize - сразу ее вызов initialize();

Последний раз редактировалось krasovsky, 16.09.2014 в 08:05.
Ответить с цитированием
  #3 (permalink)  
Старый 16.09.2014, 08:16
Аспирант
Отправить личное сообщение для ask67 Посмотреть профиль Найти все сообщения от ask67
 
Регистрация: 05.09.2014
Сообщений: 44

Спасибо за ответ.

1. консоль ошибок не дает. сам файл отрабатывает нормально (без загрузки в блок).
2. функцию вызываю <body onload="initialize()" onunload="GUnload()">, не в блоке, она вызывается.
3. сейчас попробую сразу вызвать после объявления.
Ответить с цитированием
  #4 (permalink)  
Старый 16.09.2014, 08:22
Аспирант
Отправить личное сообщение для ask67 Посмотреть профиль Найти все сообщения от ask67
 
Регистрация: 05.09.2014
Сообщений: 44

alert выскакивает до объявления переменных, но даже уже после
var myLatlng = new google.maps.LatLng(40,40);
ничего не происходит.

видимо проблема в вызове гугловских методов.
Ответить с цитированием
  #5 (permalink)  
Старый 16.09.2014, 08:30
Аспирант
Отправить личное сообщение для ask67 Посмотреть профиль Найти все сообщения от ask67
 
Регистрация: 05.09.2014
Сообщений: 44

перенес строку
<script src="http://maps.googleapis.com/maps/api/js?key=aGDM&sensor=false"
06 type="text/javascript"></script>

в вызывающий файл и все заработало. Спасибо krasovsky
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
??? Скрипт не работает в IE, FF и Opera, но работает в Chrome и Safari psiworm jQuery 1 28.01.2013 09:05
Скрипт не работает при заходе на данную страницу, но работает при рефреше страницы foker jQuery 0 26.11.2012 11:27
Скрипт в IE работает сошибкой (не работает)) dddrug Общие вопросы Javascript 3 17.11.2012 10:56
В div не работает jquery библиотека colmer Общие вопросы Javascript 1 02.10.2012 13:22
не работает скрипт с HEX значениями color DeaDiK Общие вопросы Javascript 2 17.04.2011 15:00