index.ejs 5.43 KB
<!DOCTYPE html>
<html lang="en">
<head>
<% include ../partials/header %>
</head>
<!-- Homepage -->
<body>
<div class="container-fluid">
<div class="jumbotron text-center">
<h1>Safe Routes</h1>
<p>The best way to find the safest routes.</p>
</div>
<% if(!locals.loggedin || (locals.loggedin != "true")){ %>
<%console.log(locals.loggedin)%>
<form action="/login">
<button type="submit" class="btn btn-primary">Log In</button>
<!-- <input type="submit" value="Submit"> -->
</form>
<% } %>
<!--What are for and type for?-->
<!-- current submit button takes you to the landing page -->
<form action="/landing">
<!-- First text field and label above the text field for current location -->
<div class="form-group text-center">
<label for="origin">From</label>
<input type="text" class="form-control" id="origin" placeholder="Enter Current Location" onclick="initFrom()">
</div>
<!-- Second text field and label above the text field for destination -->
<div class="form-group text-center">
<label for="dest">To</label>
<input type="text" class="form-control" id="dest" placeholder="Enter Destination" onclick="initTo()">
</div>
<!-- First travel option button, walking
This contains a row that holds buttons of type button. Buttons are highlighted upon selection.
-->
<div class="row">
<button type="button" class="btn-default img-thumbnail col-xs-4" onclick="walk();">
<img class="img-responsive" src="images/pedestrian-walking.svg" alt="Walking Option" width="40" height="40">
</button>
<!-- Second travel button, driving -->
<button type="button" class="btn-default img-thumbnail col-xs-4" onclick="drive();">
<img class="img-responsive" src="images/car-compact.svg" alt="Walking Option" width="40" height="40">
</button>
<!-- Third travel button, bus -->
<button type="button" class="btn-default img-thumbnail col-xs-4" onclick="bus();">
<img class="img-responsive" src="images/bus.svg" alt="Walking Option" width="40" height="40">
</button>
</div>
<div class="text-center">
<button type="submit" class="btn btn-primary btn-space">Go</button>
</div>
</form>
</div>
<!-- Google Map functionality. -->
<script>
function initFrom() {
var temp = document.getElementById("origin");
var autoOrigin = new google.maps.places.Autocomplete(temp);
google.maps.event.addListener(autoOrigin, 'place_changed', function () {
var place = autoOrigin.getPlace();
// Testing.
console.log(place);
//localStorage.setItem("from", place.formatted_address);
localStorage.setItem("fromIn", temp.value);
localStorage.setItem("originLat", place.geometry.location.lat());
localStorage.setItem("originLng", place.geometry.location.lng());
});
}
function initTo() {
var temp = document.getElementById("dest");
var autoDest = new google.maps.places.Autocomplete(temp);
google.maps.event.addListener(autoDest, 'place_changed', function () {
var place = autoDest.getPlace();
// Testing.
console.log(place);
//localStorage.setItem("to", place.formatted_address);
localStorage.setItem("toIn", temp.value);
localStorage.setItem("destLat", place.geometry.location.lat());
localStorage.setItem("destLng", place.geometry.location.lng());
});
}
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(pos) {
var geocoder = new google.maps.Geocoder;
var point = new google.maps.LatLng(
pos.coords.latitude, pos.coords.longitude);
localStorage.setItem("originLat", pos.coords.latitude);
localStorage.setItem("originLng", pos.coords.longitude);
geocoder.geocode({'latLng': point}, function (locations, status) {
if (status == google.maps.GeocoderStatus.OK) {
for (var location of locations) {
if ($.inArray("street_address", location.types) != -1) {
console.log('Your location is: ' + location.formatted_address);
document.getElementById("origin").value = location.formatted_address;
saveFrom();
break;
}
};
}
});
});
}
function saveFrom() {
var fromInput = document.getElementById("origin").value;
localStorage.setItem("from", fromInput);
localStorage.setItem("fromIn", fromInput);
}
function saveTo() {
var toInput = document.getElementById("dest").value;
localStorage.setItem("to", toInput);
}
function walk() {
localStorage.setItem("mode", "WALKING");
}
function drive() {
localStorage.setItem("mode", "DRIVING");
}
function bus() {
localStorage.setItem("mode", "TRANSIT");
}
function login(){
}
</script>
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDAXDHeZXEv4H4ZnThVDxpyAuxVpzOcj_U&libraries=places">
</script>
</body>
</html>