var map; var marker = new Array(); var marker2 = new Array(); var newMarker; var newMarker2; var infowindow = null; var openedWindow = null; var street = null; function init(){ map = new google.maps.Map(document.getElementById('map-canvas'),{ zoom: 14, center: new google.maps.LatLng(49.054942100978, 16.646904945374), mapTypeId: google.maps.MapTypeId.ROADMAP }); map.setMapTypeId(google.maps.MapTypeId.HYBRID); // geoxml enabled var myParser = new geoXML3.parser({ map: map, zoom: false, // neodzoomovat suppressInfoWindows: true }); myParser.parse('kml/blucina.htm?modified=1515157561'); // street view - priprava updateSize(); // street view - zobrazeni var streetOptions = { position: new google.maps.LatLng(49.054942100978, 16.646904945374), pov: {"heading":330,"zoom":1,"pitch":5}, addressControl: false, panControl: false }; street = new google.maps.StreetViewPanorama(document.getElementById('street-canvas'),streetOptions); map.setStreetView(street); } google.maps.event.addDomListener(window, 'load', init); function updateSize(){ if($(window).height()>500){ var streetHeight = ($(window).height()>600) ? 300 : 220; $('#right-panel').height($('#right-panel').height()-streetHeight); $('#street-canvas').width($('#right-panel').width()); $('#street-canvas').height(streetHeight); $('#street-canvas').css({ position: 'absolute', top: ($('#map-canvas').height()-streetHeight)+'px', right: '0px' }); $('#street-canvas').css("z-index",0); } } //google.maps.event.addDomListener(window, 'resize', updateSize); function jkSetStreetPosition(latlng){ var sv = new google.maps.StreetViewService(); sv.getPanoramaByLocation(latlng, 50, function(result,status){ if(status=="OK"){ street.setPosition(result.location.latLng); var heading = google.maps.geometry.spherical.computeHeading(result.location.latLng,latlng); street.setPov({ heading: heading, zoom: 1, pitch: -20 }); } }); } function openWindow(i){ $.get("./?p=zavada&show="+i, function(data){ if(infowindow) infowindow.close(); infowindow = new google.maps.InfoWindow({ content: data, maxWidth: 800 }); jkSetStreetPosition(marker[i].getPosition()); infowindow.open(map,marker[i]); }); } function setOnLoad(f){ google.maps.event.addDomListener(window, 'load', f); } function addMarker(id,lat,lng,title,icon){ marker[id] = new google.maps.Marker({ position: new google.maps.LatLng(lat,lng), map: map, title: title, icon: icon }); google.maps.event.addListener(marker[id], 'click', function(){ openWindow(id); }); marker2[id] = new google.maps.Marker({ position: new google.maps.LatLng(lat, lng), map: street, title: title, icon: icon }); google.maps.event.addListener(marker2[id], 'click', function(){ openWindow(id); }); } var geocoder = new google.maps.Geocoder(); function jkSetPosition(latlng){ document.getElementById("lat").value = latlng.lat(); document.getElementById("lng").value = latlng.lng(); geocoder.geocode({ latLng: latlng }, function(responses) { if (responses && responses.length > 0) { document.getElementById("adresa").value = responses[0].formatted_address; } else { document.getElementById("adresa").value = ""; } }); jkSetStreetPosition(latlng); } function initAddingMarker(lat,lng){ newMarker = new google.maps.Marker({ position: new google.maps.LatLng(lat, lng), map: map, animation: google.maps.Animation.BOUNCE, icon: 'template/images/gpsmapicons06m.png', draggable: true, title: 'Poloha nového problému' }); google.maps.event.addListener(newMarker, 'dragend', function() { jkSetPosition(newMarker.getPosition()); newMarker2.setPosition(newMarker.getPosition()); newMarker.setAnimation(null); }); google.maps.event.addListener(map, 'click', function(event) { newMarker.setPosition(event.latLng); newMarker2.setPosition(event.latLng); jkSetPosition(newMarker.getPosition()); newMarker.setAnimation(null); }); newMarker2 = new google.maps.Marker({ position: new google.maps.LatLng(lat, lng), map: street, //animation: google.maps.Animation.BOUNCE, icon: 'template/images/gpsmapicons06m.png', draggable: true, title: 'Poloha nového problému' }); google.maps.event.addListener(newMarker2, 'dragend', function() { jkSetPosition(newMarker2.getPosition()); newMarker.setPosition(newMarker2.getPosition()); }); }