Переключение между Google Maps и OpenStreet Maps. js

суть проблемы, у меня имеется две карты Google Maps и OpenStreet Maps, пытаюсь реализовать переключение между ними. Существует общий скрипт, который обрабатывает переключение

function mapChange(id) {
if(id == 1){
    $('#google-map').css('visibility','visible');
    $('#google-map').css('display','block');
    $('#osm-map').css('visibility','hidden');
    $('#osm-map').css('display','none');
    active_map= 1;
    url= 'js/google.js';
    document.write('<script src="' + url + '"><\/script>');

    url= 'https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry,drawing,places&callback=initMapGoogle&key=key';
    document.write('<script src="' + url + '" async defer><\/script>');
}
else if(id == 2){
    $('#google-map').css('visibility','hidden');
    $('#google-map').css('display','none');
    $('#osm-map').css('visibility','visible');
    $('#osm-map').css('display','block')
    active_map= 3;

    url= 'http://www.openlayers.org/api/OpenLayers.js';
    $('#Head').append('<script type="text/javascript" src="' + url + '"><\/script>');

    url= 'js/osm.js';
    $('#Head').append('<script type="text/javascript" src="' + url + '"><\/script>');
}

}

По умолчанию грузится GoogleMaps mapChange(1);

Выбор происходит в обычном меню по нажатию на определенный пункт onclick="mapChange(2)"

Отрисовка должна начаться после загрузки DOM

$(function() {
    map = new OpenLayers.Map("osm-map");
    map.addLayer(new OpenLayers.Layer.OSM());
    map.zoomToMaxExtent();
});

В конце файла map.html написаны дивы для работы <div id="google-map"></div> и <div id="osm-map" style="width:100%; height:100%; visibility:hidden; display:none;"></div>

Я добавлял и в конец body, и в head, и комбинировал один в head, а другой в конец body, но проблема все та же Uncaught ReferenceError: OpenLayers is not defined

Благодарю всех, кто отклинется на помощь


Ответы (0 шт):