Показать сообщение отдельно
  #5 (permalink)  
Старый 27.04.2024, 17:17
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,737

Признаться, я не читал всего, что вы тут понаписали, но почему не сделать как-то так?
var map = "null";
var lat = 54.6786609;
var lng = 25.3077807;

function launchGMap(container, center, options) {
    if (typeof container === 'string') {
        container = document.querySelector(container);
    }

    if (Array.isArray(center)) {
        center = new google.maps.LatLng(center[0], center[1]);
    }

    return new google.maps.Map(container, Object.assign({}, {
        center: center,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        styles: [{
            stylers: [{
                saturation: -100,
            }],
        }],
        zoom: 30,
    }, options || {}));
}

function myMap() {
    return map = launchGMap('#map', [51.508742, -0.120850]);
}

document.getElementById('showMap').addEventListener('shown.bs.modal', function() {
    modalmaped = launchGMap('#new-map', [lat, lng]);

    var bounds = new google.maps.LatLngBounds();
    bounds.extend(new google.maps.LatLng(lat, lng));

    if (modalmaped != null) {
        modalmaped.fitBounds(bounds);
        modalmaped.setZoom(30);
    }
});
Ответить с цитированием