/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ var map; var markers = []; function toggleView(view) { if (view === 'map') { // switch to map $.post('/ajax/ajaxgetter.php?uri=campusMap/main.php&view=map').success(function (result) { $('.tour-content').hide(); $('.map-content').show(); $('.tour-pane').removeClass('forward'); $('#campusmap-map-container').addClass('forward'); $('#searchMap').show(); $('.tour-box').addClass('offLeft'); }); } if (view === 'tour') { // switch to tour $.post('/ajax/ajaxgetter.php?uri=campusMap/main.php&view=tour').success(function (result) { $('.map-content').hide(); $('.tour-content').show(); $('#campusmap-map-container').removeClass('forward'); $('.tour-pane').addClass('forward'); $('#searchMap').show(); $('.tour-box').addClass('offLeft'); $('.tour-info-point').removeClass('offLeft'); }); } } function showContent(pointID, content) { $('.tour-box').addClass('offLeft'); $('#map-' + content + '-point-' + pointID).removeClass('offLeft'); $('#tour-' + content + '-point-' + pointID).removeClass('offLeft'); } function toggleContent(pointID, content) { var contentOn = 1; if ($('#campusmap-map-container').hasClass('forward')) { // we are in map view if ($('#map-' + content + '-point-' + pointID).hasClass('offLeft')) { contentOn = 0; } } else { if ($('#tour-' + content + '-point-' + pointID).hasClass('offLeft')) { contentOn = 0; } } if (contentOn == 0) { // Content is off showContent(pointID, content); } else { // Content is on and needs to be closed showContent(pointID, ''); } } function changeTourImage(pointID, imageURL) { // Load new image $('#tour-bg-point_' + pointID).css('background-image', 'url(\'' + imageURL + '\')'); // make sure tour is showing toggleView('tour'); } function changeContent(pointID, catID, groupID) { // set query string var query = ''; // Add point ID if (pointID !== undefined) { query = query + '&pid=' + pointID; } // Add category ID if (catID !== undefined) { query = query + '&cid=' + catID; } // Add group ID if (groupID !== undefined) { query = query + '&gid=' + groupID; } // Change session data $.post('/ajax/ajaxgetter.php?uri=campusMap/main.php&action=changeContent' + query).success(function (result) { placeMarker(); // Get the point header $('#campusmap-subheader').load('/ajax/ajaxgetter.php?uri=campusMap/main.php&action=genHeader'); // Get the tour background $('#campusmap-panes').load('/ajax/ajaxgetter.php?uri=campusMap/main.php&action=genPanes'); // Get the content containers $('#campusmap-content').load('/ajax/ajaxgetter.php?uri=campusMap/main.php&action=genContent'); }).error(function (result) { alert('error:' + result); }); } function mapSearch(el, resultID) { if ($(el).val().length > 2) { // Run a search $.post('/ajax/ajaxgetter.php?uri=campusMap/main.php&action=search&term=' + $(el).val()).success(function (result) { $('#' + resultID).html(result); $('#searchMap .map-search').addClass('full'); }).error(function (result) { alert('error'); }); } } function navigate(lng, lat) { // If it's an iPhone.. if ((navigator.platform.indexOf("iPhone") !== -1) || (navigator.platform.indexOf("iPod") !== -1)) { function iOSversion() { if (/iP(hone|od|ad)/.test(navigator.platform)) { // supports iOS 2.0 and later: var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/); return [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)]; } } var ver = iOSversion() || [0]; if (ver[0] >= 6) { protocol = 'maps://'; } else { protocol = 'http://'; } window.location = protocol + 'maps.apple.com/maps?daddr=' + lat + ',' + lng + '&ll='; } else { window.open('http://maps.google.com?daddr=' + lat + ',' + lng + '&ll='); } } function playVideo(youtubeID) { $('.vid iframe').attr('src', 'https://www.youtube.com/embed/' + youtubeID + '?rel=0'); $('.video').removeClass('hidden'); } function closeVideo(el) { $('.vid iframe').attr('src', ''); $('.video').addClass('hidden'); } $(document).ready(function () { // Get Main Menu //$('#campusmap-menu').load('/ajax/ajaxgetter.php?uri=campusMap/main.php&action=genMenu'); // Get Sub Header (Point Information) $('#campusmap-subheader').load('/ajax/ajaxgetter.php?uri=campusMap/main.php&action=genHeader'); // Get Map Pane $('#campusmap-map-container').load('/ajax/ajaxgetter.php?uri=campusMap/main.php&action=genMap', function () { mapInitialize(); placeMarker(); }); // Get Tour Pane $('#campusmap-panes').load('/ajax/ajaxgetter.php?uri=campusMap/main.php&action=genPanes'); // Get Content $('#campusmap-content').load('/ajax/ajaxgetter.php?uri=campusMap/main.php&action=genContent'); }); // Map Javascript function mapInitialize() { var map_canvas = document.getElementById('campusmap-map'); var map_options = { center: new google.maps.LatLng(30.846241, -83.288759), zoom: 17, mapTypeId: google.maps.MapTypeId.ROADMAP }; map = new google.maps.Map(map_canvas, map_options); } // Replace all markers with a single marker function placeMarker() { $.getJSON('/ajax/ajaxgetter.php?uri=campusMap/main.php&action=getMarker', function (result) { var location = result[0]; // Remove all existing markers deleteMarkers(); // create the new marker createMarker(new google.maps.LatLng(location.latitude, location.longitude), location.id, location.marker_image_url); // Re-position map over marker var latlngbounds = new google.maps.LatLngBounds(); $.each(markers, function (index, value) { latlngbounds.extend(new google.maps.LatLng(value.position.lat(), value.position.lng())); }); map.setCenter(latlngbounds.getCenter()); //map.fitBounds(latlngbounds); }); } function createMarker(pos, pointID, icon) { var marker = new google.maps.Marker({ position: pos, map: map, id: pointID, icon: icon }); google.maps.event.addListener(marker, 'click', function () { showContent(marker.id, 'info'); }); markers.push(marker); return marker; } function createCustomMarker(pos) { var outerBounds = map.getBounds(); console.log(outerBounds); var topleft = {lat: outerBounds.qa.A, lng: outerBounds.za.A}; var btmright = {lat: outerBounds.qa.j, lng: outerBounds.za.j}; //var geoWidth = outerBounds.qa console.log(topleft); console.log(btmright); } // Sets the map on all markers in the array. function setAllMap(map) { for (var i = 0; i < markers.length; i++) { markers[i].setMap(map); } } // Removes the markers from the map, but keeps them in the array. function clearMarkers() { setAllMap(null); } // Deletes all markers in the array by removing references to them. function deleteMarkers() { clearMarkers(); markers = []; } function getGeoLoc() { if (navigator.geolocation) navigator.geolocation.getCurrentPosition(handleGetCurrentPosition, onError); } function handleGetCurrentPosition(location) { // Remove all existing markers deleteMarkers(); createMarker(new google.maps.LatLng(location.coords.latitude, location.coords.longitude), "0", '/_files/2014/images/campus-map/icons/location-marker.png'); // Re-position map over marker var latlngbounds = new google.maps.LatLngBounds(); $.each(markers, function (index, value) { latlngbounds.extend(new google.maps.LatLng(value.position.lat(), value.position.lng())); }); map.setCenter(latlngbounds.getCenter()); } function onError() { }