-
Notifications
You must be signed in to change notification settings - Fork 1
/
logic.js
148 lines (116 loc) · 3.96 KB
/
logic.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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
var APIKey = "AIzaSyA6dPYvFRmtr6QqLt7KrqQlqXOab3FMGh0";
var langSelected = $("#lang-btn").text();
$(document).ready(function () {
//clicking the translate button starts the translate query
$("#translate-btn").on("click", function (event) {
event.preventDefault();
var translateText = $("#translation-text").val();
startTranslation(translateText);
});
//selecting language from dropdown will choose translated language
$("#lang-opt").on("click", "li", function (event) {
event.preventDefault();
$("#lang-btn").text($(this).text());
switch ($("#lang-btn").text()) {
case "Spanish":
langSelected = "es";
break;
case "French":
langSelected = "fr";
break;
case "German":
langSelected = "de";
break;
case "Japanese":
langSelected = "ja";
break;
case "Russian":
langSelected = "ru";
break;
default:
langSelected = "en";
};
});
//quick translation buttons
$(".common").on("click", function (event) {
event.preventDefault();
var question = $(this).text();
var translateText;
switch (question) {
case "Restroom?":
translateText = "Where is the nearest bathroom?";
break;
case "ATM?":
translateText = "Where is the nearest bank or ATM?";
break;
case "Train?":
translateText = "Where is the nearest train?";
break;
case "Coffee?":
translateText = "Where can I get a good cup of coffee?";
break;
case "Restaurant?":
translateText = "What is the best restaurant in town?";
break;
default:
translateText = "Where is the nearest market?";
};
startTranslation(translateText);
});
//button for random fact modal
$("#randFact").on("click", function (event) {
event.preventDefault();
randomFact();
});
//API call that translates the text input
function startTranslation(translateText) {
var queryURL = "https://translation.googleapis.com/language/translate/v2?q=" + translateText + "&target=" + langSelected + "&key=" + APIKey;
$.ajax({
url: queryURL,
method: "POST"
}).then(function (response) {
var translation = response.data.translations[0].translatedText;
placeTranslation(translation);
});
};
//writes translated text to textarea
function placeTranslation(translation) {
$("#translatedText").text(translation);
}
//random fact api call
function randomFact() {
var randomURL = "https://uselessfacts.jsph.pl/random.json?language=en"
$.ajax({
url: randomURL,
method: "GET"
}).then(function (response) {
$(".modal-body").empty();
var fact = response.text;
$(".modal-body").append("<p class='modal-body'>" + fact + "</p>");
});
};
//map content below
mapboxgl.accessToken = 'pk.eyJ1IjoiY291cnRuZXlqIiwiYSI6ImNrYzN0OW12ZDAxOGwycW1ydjc0bW9mMG0ifQ.VWF3V-tNFAcHm2RpqpbBTg';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v11',
center: [-97.7431, 30.2672],
zoom: 0
});
map.addControl(
new MapboxGeocoder({
accessToken: mapboxgl.accessToken,
mapboxgl: mapboxgl
})
);
// Add geolocate control to the map.
map.addControl(
new mapboxgl.GeolocateControl({
positionOptions: {
enableHighAccuracy: true
},
trackUserLocation: true
})
);
// map logic end
});