var map;
var resizeDiv;
var resizeUI;
var resizeText;
var mapSize = 0;
var markerArray = [];
var infoWin;
var contentStr;
var options = {
center: new google.maps.LatLng(48.63521,21.942667),
zoom: 9,
mapTypeId: google.maps.MapTypeId.HYBRID,
styles: [
{
featureType: 'poi',
stylers: [
{ visibility: 'off' }
]
}
]
};
var sirkaMapy;
var vyskaMapy;
var resizeText;
function resizeMap(resize, altText) {
var widthOfBigMap = 1000;
var heightOfBigMap = 350;
if(mapSize == 0) {
var center = map.getCenter();
var vyska = $("#"+resize).height();
var sirka = $("#"+resize).width();
$("#"+resize).animate({
width: sirka+(widthOfBigMap-sirkaMapy),
height: vyska+(heightOfBigMap-vyskaMapy)
}, 1000);
$('#mapdiv').animate({
width: widthOfBigMap,
height: heightOfBigMap
}, 1000, function(){google.maps.event.trigger(map, 'resize');map.setCenter(center);});
resizeText = $('#mapResizeLink').html();
$('#mapResizeLink').html(altText);
mapSize = 1;
}
else {
var center = map.getCenter();
var vyska = $("#"+resize).height();
var sirka = $("#"+resize).width();
$("#"+resize).animate({
width: sirka-(widthOfBigMap-sirkaMapy),
height: vyska-(heightOfBigMap-vyskaMapy)
}, 1000);
$('#mapdiv').animate({
width: sirkaMapy,
height: vyskaMapy
}, 1000, function (){google.maps.event.trigger(map, 'resize');map.setCenter(center);});
$('#mapResizeLink').html(resizeText);
mapSize = 0;
}
}
function resizeMapLeft(resize, altText) {
var widthOfBigMap = 1000;
var heightOfBigMap = 350;
if(mapSize == 0) {
var center = map.getCenter();
var vyska = $("#"+resize).height();
var sirka = $("#"+resize).width();
$("#"+resize).animate({
width: sirka+(widthOfBigMap-sirkaMapy),
height: vyska+(heightOfBigMap-vyskaMapy),
left: -widthOfBigMap+sirka
}, 1000);
$('#mapdiv').animate({
width: widthOfBigMap,
height: heightOfBigMap
}, 1000, function(){google.maps.event.trigger(map, 'resize');map.setCenter(center);});
resizeText = $('#mapResizeLeftLink').html();
$('#mapResizeLeftLink').html(altText);
mapSize = 1;
}
else {
var center = map.getCenter();
var vyska = $("#"+resize).height();
var sirka = $("#"+resize).width();
$("#"+resize).animate({
width: sirka-(widthOfBigMap-sirkaMapy),
height: vyska-(heightOfBigMap-vyskaMapy),
left: 0
}, 1000);
$('#mapdiv').animate({
width: sirkaMapy,
height: vyskaMapy
}, 1000, function (){google.maps.event.trigger(map, 'resize');map.setCenter(center);});
$('#mapResizeLeftLink').html(resizeText);
mapSize = 0;
}
}
function initializeMap(activities) {
if(activities == null) {
activities = false;
}
sirkaMapy = $("#mapdiv").width();
vyskaMapy = $("#mapdiv").height();
map = new google.maps.Map(document.getElementById("mapdiv"), options);
//add markers
addMarkers(activities);
return map;
}
function addMarkers(activities) {
var marker;
hideMarkers();
if(activities == false) {
for(var i in markersLatLng){
marker = new google.maps.Marker({
position: new google.maps.LatLng(markersLatLng[i][0],markersLatLng[i][1]),
map: map,
icon: markersLatLng[i][2]
});
marker.setMap(map);
markerArray.push(marker);
}
for(var i in markersLatLng){
google.maps.event.addListener(markerArray[i], 'click', function(event) {
$.ajax({
url: "ajax/pointDetails.html",
dataType: 'json',
data: {lon: event.latLng.lng().toPrecision(13), lat: event.latLng.lat().toPrecision(13)},
success: function(payload) {
contentStr = '
'+payload.name+'
';
if(payload.description) {
contentStr += '
'+payload.description.replace(/>/g,">").replace(/</g, "<")+'
';
}
if(payload.url) {
contentStr += '
';
}
if(infoWin) {
infoWin.close();
}
infoWin = new google.maps.InfoWindow({
content: contentStr,
position: event.latLng
});
infoWin.open(map);
},
error: function(xhr, errstatus, errthrown) {
alert("Nastala chyba\nNazov chyby: " + errstatus + "\nHTTP status: " + errthrown);
}
});
});
}
} else if(activities == true) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(markersLatLng[0],markersLatLng[1]),
map: map
});
marker.setMap(map);
map.setCenter(new google.maps.LatLng(markersLatLng[0], markersLatLng[1]));
}
}
function hideMarkers() {
for(var i in markerArray){
markerArray[i].setMap(null);
}
markerArray.length = 0;
}
function mapZoom(lat, lng, zoom) {
if(!zoom){
zoom = 16;
}
map.setCenter(new google.maps.LatLng(lat, lng));
map.setZoom(zoom);
return false;
}