скрипт, загружаемый с файлом в 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 (){......}), но бесполезно. к какому событию привязаться? или может быть есть другое решение? |
Во первых - смотрим в консоль на предмет ошибок.
Во вторых как ты вызываешь функцию initialize() и ты вообще вызываешь ее? В третьих у тебя вставляется два скрипта - гугл либа и сразу же ее вызов, а что если она еще не загрузилась? Правильно,ошибка. Либу переместить в head а во втором скрипте после объявления функции initialize - сразу ее вызов initialize(); |
Спасибо за ответ.
1. консоль ошибок не дает. сам файл отрабатывает нормально (без загрузки в блок). 2. функцию вызываю <body onload="initialize()" onunload="GUnload()">, не в блоке, она вызывается. 3. сейчас попробую сразу вызвать после объявления. |
alert выскакивает до объявления переменных, но даже уже после
var myLatlng = new google.maps.LatLng(40,40); ничего не происходит. видимо проблема в вызове гугловских методов. |
перенес строку
<script src="http://maps.googleapis.com/maps/api/js?key=aGDM&sensor=false" 06 type="text/javascript"></script> в вызывающий файл и все заработало. Спасибо krasovsky |
Часовой пояс GMT +3, время: 09:40. |