скрипт, загружаемый с файлом в 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, время: 17:15. |