these-3-words/views/index.html

73 lines
2.7 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<!-- Meta -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>These3Words Map</title>
<!-- Style -->
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<link rel="stylesheet" href="/static/css/style.css">
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places"></script>
<script src="/static/js/app.js"></script>
</head>
<body>
<div class="container">
% if err:
<aside class="alert alert-danger" role="alert">Error: {{ err }}</aside>
% end
<main class="jumbotron">
<h1>These3Words Map</h1>
<p class="lead">
Find a location anywhere in the world identified by three simple words.
</p>
<p class="text-warning">This is hot off the press. We are still
finalising the word list so locations might not be
reproducible. So do not use it to mark the location of your
antarctic resupply drop quite yet!</p>
<p id="input3wordsContainer">
<input type="text" class="form-control" id="input3words" placeholder="Your address OR opulent-crusade-zaar">
</p>
<p>
<button id="button3words" class="btn btn-lg btn-primary">Find on Map</button>
</p>
</main>
<footer>
<p class="text-center text-muted">Made with ♥ by <a href="https://betatim.github.io/">Tim</a> and <a href="https://dun.gs">Kevin</a>. <a href="https://github.com/betatim/these-3-words">Fork it on GitHub</a>.
</footer>
</div>
<script>
(function () {
var initialise = function () {
// Create the autocomplete object, restricting the search
// to geographical location types.
var searchbox = new google.maps.places.SearchBox(
(document.getElementById('input3words')));
// When the user selects an address from the dropdown,
// populate the address fields in the form.
google.maps.event.addListener(searchbox, 'places_changed', function() {
// Get the place details from the autocomplete object.
var places = searchbox.getPlaces();
console.log("HEllo");
if (places.length > 0) {
place = places[0];
These3Words.apiGetFromLatLng(place.geometry.location,
function(status, data) {
if (status >= 200 && status < 400) {
window.location = "/" + data.three;
}
});
} else {
var words = document.getElementById('input3words').value;
if (/\w+-\w+-\w+/.test(words)) {
window.location = '/' + words;
}
}
});
};
window.addEventListener('load', initialise);
}());
</script>
</body>
</html>