-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.js
79 lines (69 loc) · 2.95 KB
/
main.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
//Getting buttons that trigger modal boxes
const signInDesk = document.getElementById('signin-desk');
const signIn = document.getElementById('signin');
const closeSignin = document.getElementById('close-signin');
const registerButton = document.getElementById('register');
const closeRegister = document.getElementById('close-register');
const linkNewAccount = document.getElementById('new-account-a');
const driverButton = document.getElementById('driver-button');
const driverButton2 = document.getElementById('driver-button-2');
const closeDriverButton = document.getElementById('close-driver');
//functions for showing or hidding modal boxes
const showModal = id => document.getElementById(id).classList.remove('hide');
const hideModal = id => document.getElementById(id).classList.add('hide');
//show sign in modal
const openSignInModal = () => showModal('signin-modal');
//closing sign in modal
const closeSignInModal = () => hideModal('signin-modal');
//functions to open or close modals
const openRegister = () => showModal('registration');
const closeRegisterModal = () => hideModal('registration');
const openDriverModal = () => showModal('driver-register');
const closeDriverModal = () => hideModal('driver-register');
//events
signIn.addEventListener('click', openSignInModal);
signInDesk.addEventListener('click', openSignInModal);
closeSignin.addEventListener('click', closeSignInModal);
registerButton.addEventListener('click', openRegister);
closeRegister.addEventListener('click', closeRegisterModal);
linkNewAccount.addEventListener('click', () => {
closeSignInModal();
openRegister();
})
driverButton.addEventListener('click', openDriverModal);
driverButton2.addEventListener('click', openDriverModal);
closeDriverButton.addEventListener('click', closeDriverModal);
//displaying map with api geo location
var map, infoWindow;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: { lat: -34.397, lng: 150.644 },
zoom: 15
});
infoWindow = new google.maps.InfoWindow;
// Try HTML5 geolocation.
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
infoWindow.setPosition(pos);
infoWindow.setContent('Location found.');
infoWindow.open(map);
map.setCenter(pos);
}, function() {
handleLocationError(true, infoWindow, map.getCenter());
});
} else {
// Browser doesn't support Geolocation
handleLocationError(false, infoWindow, map.getCenter());
}
}
function handleLocationError(browserHasGeolocation, infoWindow, pos) {
infoWindow.setPosition(pos);
infoWindow.setContent(browserHasGeolocation ?
'Error: The Geolocation service failed.' :
'Error: Your browser doesn\'t support geolocation.');
infoWindow.open(map);
}