Skip to content

Instantly share code, notes, and snippets.

@pjaudiomv
Last active January 14, 2019 02:20
Show Gist options
  • Save pjaudiomv/1db3c00ac6c81559de6b96940e69aba7 to your computer and use it in GitHub Desktop.
Save pjaudiomv/1db3c00ac6c81559de6b96940e69aba7 to your computer and use it in GitHub Desktop.
meetings By Day By Current Location
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"/></head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://bmlt.sezf.org/main_server/local_server/bmlt.js"></script>
<a id="Day1" href="javascript:selectDay(1)">Sunday</a>
<a id="Day2" href="javascript:selectDay(2)">Monday</a>
<a id="Day3" href="javascript:selectDay(3)">Tuesday</a>
<a id="Day4" href="javascript:selectDay(4)">Wednesday</a>
<a id="Day5" href="javascript:selectDay(5)">Thursday</a>
<a id="Day6" href="javascript:selectDay(6)">Friday</a>
<a id="Day7" href="javascript:selectDay(7)">Saturday</a>
<hr/>
<div id="results"></div>
<script>
var getServiceBodies = function(callback) {
getJSON("https://bmlt.sezf.org/main_server/client_interface/jsonp/?switcher=GetServiceBodies&callback=?", callback);
};
var getServiceBodyById = function(id) {
for (item of serviceBodies) {
if (item.id === id) {
return item;
}
}
};
var getMeetingsByLocation = function (day, geoWidth, position, callback) {
getJSON(bmltbaseURL + "GetSearchResults&weekdays=" + day + "&geo_width=" + geoWidth + "&long_val=" + position.longitude + "&lat_val=" + position.latitude + "&callback=?", callback);
};
var serviceBodies = [];
$(function() {
bmltClientInit('https://bmlt.sezf.org/main_server');
getServiceBodies(function(data) {
serviceBodies = data;
selectDay(getTodayDayOfWeek());
})
});
function selectDay(day) {
$("[id^=Day]").css("font-weight", "");
$("#Day" + day).css("font-weight", "bold");
function locationSuccess(position) {
getMeetingsByLocation(day, 75, position.coords, function(data) {
var results = "";
for (var i = 0; i < data.length; i++) {
results += "<div id='meeting_name'><b>" + data[i].meeting_name + "</b></div>"
results += "<div id='location_text'>" + data[i].location_text + "</div>"
results += "<div id='location_street'>" + data[i].location_street + "</div>"
results += "<div id='location_citystate'>" + data[i].location_municipality + ", " + data[i].location_province + "</div>"
results += "<div id='service_body'>" + getServiceBodyById(data[i].service_body_bigint)['name'] + "</div>"
results += "<div id='day_and_time'>" + getDayOfWeek(data[i].weekday_tinyint - 1) + " " + militaryToStandard(data[i].start_time) + "</div>"
results += "<div id='map'><a target='_blank' href='https://www.google.com/maps?q=" + data[i].latitude + "," + data[i].longitude + "'>Map</a></div>"
results += "<p/>"
}
$("#results").html(results)
});
}
function locationError() {
console.log("error: cannot get location")
}
navigator.geolocation.getCurrentPosition(locationSuccess, locationError);
}
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment