$(document)
        .ready(
                function() {
                    var mapProp = {
                        center : new google.maps.LatLng(52.05, 19.45),
                        zoom : 6,
                        mapTypeId : google.maps.MapTypeId.ROADMAP
                    };
                    var map = new google.maps.Map(document
                            .getElementById("googleMapContainer"), mapProp);

                    var markers = JSON.parse(b64_to_utf8($('#googleMapMarkers')
                            .val()));
                    $.each(markers, function(index, m) {
                        var marker = new google.maps.Marker({
                            position : new google.maps.LatLng(m.lat, m.lng),
                            url : '/',
                            animation : google.maps.Animation.DROP,
                            customInfo : m.info,
                            title : m.title,
                            map : map
                        });
                        google.maps.event.addListener(marker, 'click',
                                markerClickFunction);
                    });

                    function markerClickFunction() {
                        infowindow = new google.maps.InfoWindow({
                            content : this.customInfo
                        });
                        infowindow.open(map, this);
                        closeInfoWindow(infowindow);
                    }
                    function closeInfoWindow(infoWindow) {
                        setTimeout(function() {
                            infoWindow.close();
                        }, 8000);
                    }
                });

function b64_to_utf8(str) {
    return decodeURIComponent(escape(window.atob(str)));
}