Google Map Ajax load - PullRequest
       6

Google Map Ajax load

0 голосов
/ 23 декабря 2009

Мне было "весело" с картами Google, и после некоторой помощи. По сути, у меня есть небольшой блок HTML / Javascript, который можно загрузить на стандартную HTML-страницу или в div с помощью Ajax. Все, что я сейчас пытаюсь сделать, это заставить карту появиться. Когда страница загружается как часть HTML, она в порядке, появляется, поет, танцует и иногда играет на флейте. Однако, когда он загружается через Ajax, он не появляется, но делает javascript, который пишет Google.

Я думаю, что мне не хватает триггера загрузки или готовности. но не могу узнать, чего мне не хватает. Мой поиск-фу слаб. Это код, не очень сложный, как вы можете видеть. Карты Google не включены, но об ошибках и предупреждениях не сообщается, и, как я уже сказал, он отлично работает как HTML-страница.

<div id="map_canvas_<?= $userContact->getId() ?>" style="margin: 10px auto; width: 90%; height: 300px;"></div>
<script type="text/javascript">

    var mapInstance = null;

    var startLatitude = 53.975044;
    var startLongitude = -2.153320;
    var startZoomLevel = 5;

// create the new instance.
    mapInstance = new GMap2($('map_canvas_<?= $userContact->getId() ?>'));

    // center the map on the UK
    mapInstance.setCenter(new GLatLng(startLatitude, startLongitude), startZoomLevel);

</script>

Khaine.

Ответы [ 2 ]

2 голосов
/ 23 декабря 2009

Вы пытались передать результаты вашего AJAX-вызова в метод javascript eval()? Это выполнит любой код JavaScript, который вы загружаете с другой страницы.

Если вы просто загружаете js-файлы с помощью AJAX и добавляете их в div, то код не будет автоматически выполняться.

0 голосов
/ 23 декабря 2009

Я думаю, вам нужно создать свой экземпляр GMap2 и т. Д. В функции window.onload. Например:

// ..other code stays the same
function initMap() {
    if (GBrowserIsCompatible()) { 
        mapInstance = new GMap2(..);
        mapInstance.setCenter(..);
    }
}
window.onload = initMap;

Надеюсь, что это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...