Commit 4b7d6c45 authored by Chris Shantz's avatar Chris Shantz
Browse files

Merge branch '1.0.x' into prod/1.0.x

parents b80ba262 26687d5d
......@@ -298,7 +298,19 @@ display:
position: 2
display_options:
display_extenders:
metatag_display_extender: { }
metatag_display_extender:
metatags:
title: '[current-page:title] | [site:name]'
description: 'Listing the events on the [site:name] site.'
canonical_url: '[current-page:url:absolute]'
content_language: en-CA
image_src: 'https://uwaterloo.ca/university-of-waterloo-logo-152.png'
og_url: '[current-page:url:absolute]'
og_title: '[current-page:metatag:title]'
og_description: '[current-page:metatag:description]'
og_image: '[current-page:metatag:image_src]'
og_locale: en_CA
twitter_cards_type: summary_large_image
display_description: ''
title: Events
defaults:
......@@ -749,7 +761,7 @@ display:
timezone_override: ''
format: default
force_chronological: false
add_classes: 0
add_classes: false
group_column: value
group_columns: { }
group_rows: false
......
/**
* @file
* Javascript for event location presets menu.
*/
(function ($, Drupal, drupalSettings) {
'use strict';
Drupal.behaviors.uw_ct_event_location_autofill = {
attach: function (context, drupalSettings) {
var location_select = $('select#edit-location-presets-select');
location_select.change(function () {
// Get chosen location.
var location = drupalSettings.uwCtEvent[location_select.val()];
// Do nothing when re-selecting the initial value.
if (!location) {
return;
}
// Set coordinates and re-center map.
$('input#lat-edit-field-uw-event-location-coord-0-value').val(location.latitude);
$('input#lon-edit-field-uw-event-location-coord-0-value').val(location.longitude).change();
// Set the country if it has changed.
var select_country = $('#edit-field-uw-event-location-address-0 select.country');
if (select_country.val() !== location.country_code) {
select_country.val(location.country_code).change();
}
// Update the address fields.
var address_fields = {
location_name_and_code: 'input.organization',
address: 'input.address-line1',
city: 'input.locality',
postal_code: 'input.postal-code',
province_code: 'select.administrative-area',
};
// Give time for the progress throbber to appear. Fields are updated by
// Ajax following any change in the country.
setTimeout(function () {
var counter = 0;
// Repeat until the progress throbber disappears and the address field
// appears. Update the address and clearInterval() to stop repeating.
var checkExist = setInterval(function () {
// Stop repeating after 10 seconds if Ajax gets stuck.
counter++;
if (counter > 50) {
clearInterval(checkExist);
}
else if (!$('.ajax-progress-throbber').length && $('#edit-field-uw-event-location-address-0 input.organization').length) {
clearInterval(checkExist);
for (var key in address_fields) {
var element = $('#edit-field-uw-event-location-address-0 ' + address_fields[key]);
if (element.val() !== location[key]) {
element.val(location[key]).change();
}
}
}
}, 200);
}, 500);
});
}
}
})(jQuery, Drupal, drupalSettings);
uw_ct_event_edit:
js:
js/uw_ct_event_edit.js: {}
location_autofill:
js:
js/location_autofill.js: {}
......@@ -5,6 +5,7 @@
* Provides configuration and settings for events.
*/
use Drupal\Core\Form\FormStateInterface;
use Drupal\node\Entity\Node;
use Drupal\views\ViewExecutable;
......@@ -24,17 +25,62 @@ function uw_ct_event_views_pre_view(ViewExecutable $view, $display_id, array &$a
// Get the exposed filters from the view.
$exposed = $view->getExposedInput();
// If there are no exposed filters set, then set
// set the default date to today.
if ($exposed == NULL) {
// Get todays date in the correct format.
// Get date filter's operator.
if (isset($exposed['date_type'])) {
$date_operator = $exposed['date_type'];
$date_check = $exposed['date']['value'];
if ($date_operator == 'between') {
// If we are using "between", we want to use the max date as our check.
// Note that if "between" doesn't have two values, it doesn't seem to
// apply at all, so we don't do a comparison if there isn't a start
// value.
if ($exposed['date']['min']) {
$base_date = date('m/d/Y');
$date_check = $exposed['date']['max'];
}
else {
$date_operator = NULL;
}
}
}
// Operators which automatically reverse the sorting.
$automatic_operators = [
'<',
'<=',
];
// Operators that require a date check to automatically reverse the sorting.
$additional_operators = [
'between',
];
// All operators.
$check_operators = array_merge($automatic_operators, $additional_operators);
// If there is a date filter set, see if we need to act on it.
if (isset($date_check) && in_array($date_operator, $check_operators)) {
// Reverse the sort order if filtering by one of the automatic operators,
// or if filtering by one of the additional operators, where the date to
// check is entirely in the past.
if (in_array($date_operator, $automatic_operators) || (in_array($date_operator, $additional_operators) && $date_check < $base_date)) {
// Get the display and the sort options from the view.
$display = $view->getDisplay();
$sorts = $display->getOption('sorts');
// Reverse the sort order.
$sorts['field_uw_event_date_value']['order'] = 'DESC';
$display->setOption('sorts', $sorts);
}
}
// If there are no exposed filters set, then set the default date to today.
elseif ($exposed == NULL) {
// Get today's date in the correct format.
$exposed['date']['value'] = date('m/d/Y', time());
// Set the default todays date.
// Set the default to today's date.
$view->setExposedInput($exposed);
}
}
}
/**
......@@ -91,3 +137,104 @@ function uw_ct_event_preprocess_views_view_unformatted(&$variables) {
}
}
}
/**
* Load data about UW locations from a JSON file.
*
* @return array[]
* The location data.
*/
function _uw_ct_event_load_locations(): array {
// Cached results of this function.
static $locations;
if ($locations) {
return $locations;
}
// Load data file.
$locations_file = file_get_contents(__DIR__ . '/uw_locations.json');
$locations_file = json_decode($locations_file, TRUE);
// Field mapping for renaming some keys.
$fields = [
'street' => 'address',
'city' => NULL,
'province' => 'province_code',
'province_name' => NULL,
'country' => 'country_code',
'country_name' => NULL,
'postal_code' => NULL,
'latitude' => NULL,
'longitude' => NULL,
];
$locations = [];
foreach ($locations_file as $file_location) {
// Parse name into code and name.
list($location_code, $location_name) = explode('-', $file_location['name'], 2);
$location_code = trim($location_code);
// Create array for this location.
$location = [
'location_code' => $location_code,
'location_name' => trim($location_name),
];
$location['location_name_and_code'] = $location['location_code'] . ' - ' . $location['location_name'];
// Copy values from file, renaming some keys.
foreach ($fields as $field_in => $field_out) {
$location[$field_out ?: $field_in] = $file_location[$field_in];
}
// Use capital letters for country codes.
$location['country_code'] = strtoupper($location['country_code']);
// Append to main array.
$locations[$location_code] = $location;
}
return $locations;
}
/**
* Return locations as a $code => $title array.
*
* @return string[]
* An array of locations with their codes as the keys and names as the values.
*/
function _uw_ct_event_get_location_options(): array {
// Cached results of this function.
static $options;
if ($options) {
return $options;
}
$options = [];
foreach (_uw_ct_event_load_locations() as $location_code => $location) {
$options[$location_code] = $location_code . ' - ' . $location['location_name'];
}
return $options;
}
/**
* Implements hook_form_FORM_ID_alter().
*/
function uw_ct_event_form_node_uw_ct_event_form_alter(array &$form, FormStateInterface $form_state, string $form_id): void {
// Add locations pre-fill menu.
$form['group_event_location']['location_presets_select'] = [
'#title' => t('Location lookup'),
'#description' => t('Choose a location or enter location information below.'),
'#type' => 'select',
'#empty_option' => '- Choose location -',
'#options' => _uw_ct_event_get_location_options(),
];
$form['#attached']['library'][] = 'uw_ct_event/location_autofill';
$form['#attached']['drupalSettings']['uwCtEvent'] = _uw_ct_event_load_locations();
}
/**
* Implements hook_form_alter().
*/
function uw_ct_event_form_alter(array &$form, FormStateInterface $form_state, string $form_id): void {
switch ($form_id) {
case 'node_uw_ct_event_edit_form':
case 'node_uw_ct_event_quick_node_clone_form':
uw_ct_event_form_node_uw_ct_event_form_alter($form, $form_state, $form_id);
break;
}
}
[{"lid":"18","name":"AAR - Architecture Annex Rome","street":"Piazza di Sant\u0027Apollonia, 3","additional":"","city":"Rome","province":"RM","postal_code":"00153","country":"it","latitude":"41.889615","longitude":"12.470925","source":"1","is_primary":"0","locpick":{"user_latitude":"41.889615","user_longitude":"12.470925"},"province_name":"Roma","country_name":"Italy"},{"lid":"19","name":"ACW - Accelerator Centre Waterloo","street":"295 Hagey Boulevard","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 6R5","country":"ca","latitude":"43.477310","longitude":"-80.548960","source":"1","is_primary":"0","locpick":{"user_latitude":"43.477310","user_longitude":"-80.548960"},"province_name":"Ontario","country_name":"Canada"},{"lid":"534","name":"AHS - Applied Health Sciences Expansion Building","street":"200 University Ave West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.473590","longitude":"-80.546250","source":"1","is_primary":"0","locpick":{"user_latitude":"43.473590","user_longitude":"-80.546250"},"province_name":"Ontario","country_name":"Canada"},{"lid":"20","name":"AL - Arts Lecture Hall","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.468941","longitude":"-80.541871","source":"1","is_primary":"0","locpick":{"user_latitude":"43.468941","user_longitude":"-80.541871"},"province_name":"Ontario","country_name":"Canada"},{"lid":"21","name":"ARC - School of Architecture","street":"7 Melville Street South","additional":"","city":"Cambridge","province":"ON","postal_code":"N1S 2H4","country":"ca","latitude":"43.358572","longitude":"-80.316920","source":"1","is_primary":"0","locpick":{"user_latitude":"43.358572","user_longitude":"-80.316920"},"province_name":"Ontario","country_name":"Canada"},{"lid":"22","name":"B1 - Biology 1","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.470670","longitude":"-80.543052","source":"1","is_primary":"0","locpick":{"user_latitude":"43.470670","user_longitude":"-80.543052"},"province_name":"Ontario","country_name":"Canada"},{"lid":"23","name":"B2 - Biology 2","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.470763","longitude":"-80.543813","source":"1","is_primary":"0","locpick":{"user_latitude":"43.470763","user_longitude":"-80.543813"},"province_name":"Ontario","country_name":"Canada"},{"lid":"24","name":"BAU - Bauer Warehouse","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.483354","longitude":"-80.545715","source":"1","is_primary":"0","locpick":{"user_latitude":"43.483354","user_longitude":"-80.545715"},"province_name":"Ontario","country_name":"Canada"},{"lid":"25","name":"BMH - B.C. Matthews Hall","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.473866","longitude":"-80.545176","source":"1","is_primary":"0","locpick":{"user_latitude":"43.473866","user_longitude":"-80.545176"},"province_name":"Ontario","country_name":"Canada"},{"lid":"26","name":"BRH - Brubacher House","street":"200 University Avenue West ","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.475571","longitude":"-80.552348","source":"1","is_primary":"0","locpick":{"user_latitude":"43.475571","user_longitude":"-80.552348"},"province_name":"Ontario","country_name":"Canada"},{"lid":"27","name":"C2 - Chemistry 2","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.472091","longitude":"-80.542875","source":"1","is_primary":"0","locpick":{"user_latitude":"43.472091","user_longitude":"-80.542875"},"province_name":"Ontario","country_name":"Canada"},{"lid":"28","name":"CGR - Conrad Grebel University","street":"140 Westmount Road North","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G6","country":"ca","latitude":"43.466667","longitude":"-80.545412","source":"1","is_primary":"0","locpick":{"user_latitude":"43.466667","user_longitude":"-80.545412"},"province_name":"Ontario","country_name":"Canada"},{"lid":"29","name":"CIF - Columbia Icefield","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.475357","longitude":"-80.548523","source":"1","is_primary":"0","locpick":{"user_latitude":"43.475357","user_longitude":"-80.548523"},"province_name":"Ontario","country_name":"Canada"},{"lid":"30","name":"CLN - Columbia Lake Village North","street":"350 Columbia Street West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 6G8","country":"ca","latitude":"43.472070","longitude":"-80.563000","source":"1","is_primary":"0","locpick":{"user_latitude":"43.472070","user_longitude":"-80.563000"},"province_name":"Ontario","country_name":"Canada"},{"lid":"31","name":"CLV - Columbia Lake Village","street":"350 Columbia Street West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 6G8","country":"ca","latitude":"43.470082","longitude":"-80.561838","source":"1","is_primary":"0","locpick":{"user_latitude":"43.470082","user_longitude":"-80.561838"},"province_name":"Ontario","country_name":"Canada"},{"lid":"605","name":"CMH - Claudette Millar Hall","street":"165 University Ave West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3E8","country":"ca","latitude":"43.470168","longitude":"-80.535941","source":"1","is_primary":"0","locpick":{"user_latitude":"43.470168","user_longitude":"-80.535941"},"province_name":"Ontario","country_name":"Canada"},{"lid":"32","name":"COG - Columbia Greenhouses","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.473218","longitude":"-80.559405","source":"1","is_primary":"0","locpick":{"user_latitude":"43.473218","user_longitude":"-80.559405"},"province_name":"Ontario","country_name":"Canada"},{"lid":"33","name":"COM - Commissary (University of Waterloo Police \u0026 Parking)","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.474061","longitude":"-80.542901","source":"1","is_primary":"0","locpick":{"user_latitude":"43.474061","user_longitude":"-80.542901"},"province_name":"Ontario","country_name":"Canada"},{"lid":"34","name":"CPH - Carl A. Pollock Hall","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.470950","longitude":"-80.539339","source":"1","is_primary":"0","locpick":{"user_latitude":"43.470950","user_longitude":"-80.539339"},"province_name":"Ontario","country_name":"Canada"},{"lid":"35","name":"CSB - Central Services Building","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.473788","longitude":"-80.543663","source":"1","is_primary":"0","locpick":{"user_latitude":"43.473788","user_longitude":"-80.543663"},"province_name":"Ontario","country_name":"Canada"},{"lid":"36","name":"DC - William G. Davis Computer Research Centre","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.472761","longitude":"-80.542164","source":"1","is_primary":"0","locpick":{"user_latitude":"43.472761","user_longitude":"-80.542164"},"province_name":"Ontario","country_name":"Canada"},{"lid":"91","name":"DMS - Stratford Campus","street":"125 St. Patrick Street","additional":"","city":"Stratford","province":"ON","postal_code":"N5A 0C1","country":"ca","latitude":"43.368045","longitude":"-80.981834","source":"1","is_primary":"0","locpick":{"user_latitude":"43.368045","user_longitude":"-80.981834"},"province_name":"Ontario","country_name":"Canada"},{"lid":"37","name":"DWE - Douglas Wright Engineering Building","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.469981","longitude":"-80.540042","source":"1","is_primary":"0","locpick":{"user_latitude":"43.469981","user_longitude":"-80.540042"},"province_name":"Ontario","country_name":"Canada"},{"lid":"38","name":"E2 - Engineering 2","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.471043","longitude":"-80.540412","source":"1","is_primary":"0","locpick":{"user_latitude":"43.471043","user_longitude":"-80.540412"},"province_name":"Ontario","country_name":"Canada"},{"lid":"39","name":"E3 - Engineering 3","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.471744","longitude":"-80.540863","source":"1","is_primary":"0","locpick":{"user_latitude":"43.471744","user_longitude":"-80.540863"},"province_name":"Ontario","country_name":"Canada"},{"lid":"40","name":"E5 - Engineering 5","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.472953","longitude":"-80.540085","source":"1","is_primary":"0","locpick":{"user_latitude":"43.472953","user_longitude":"-80.540085"},"province_name":"Ontario","country_name":"Canada"},{"lid":"41","name":"E6 - Engineering 6","street":"200 University Ave West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.473010","longitude":"-80.538900","source":"1","is_primary":"0","locpick":{"user_latitude":"43.473010","user_longitude":"-80.538900"},"province_name":"Ontario","country_name":"Canada"},{"lid":"904","name":"E7 - Engineering 7","street":"200 University Ave West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.472900","longitude":"-80.539600","source":"1","is_primary":"0","locpick":{"user_latitude":"43.472900","user_longitude":"-80.539600"},"province_name":"Ontario","country_name":"Canada"},{"lid":"402","name":"EC1 - East Campus 1","street":"200 University Ave West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.476220","longitude":"-80.540320","source":"1","is_primary":"0","locpick":{"user_latitude":"43.476220","user_longitude":"-80.540320"},"province_name":"Ontario","country_name":"Canada"},{"lid":"401","name":"EC2 - East Campus 2","street":"200 University Ave West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.474615","longitude":"-80.541370","source":"1","is_primary":"0","locpick":{"user_latitude":"43.474615","user_longitude":"-80.541370"},"province_name":"Ontario","country_name":"Canada"},{"lid":"403","name":"EC3 - East Campus 3","street":"200 University Ave West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.475702","longitude":"-80.542160","source":"1","is_primary":"0","locpick":{"user_latitude":"43.475702","user_longitude":"-80.542160"},"province_name":"Ontario","country_name":"Canada"},{"lid":"532","name":"EC4 - East Campus 4","street":"200 University Ave West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.475105","longitude":"-80.539790","source":"1","is_primary":"0","locpick":{"user_latitude":"43.475105","user_longitude":"-80.539790"},"province_name":"Ontario","country_name":"Canada"},{"lid":"535","name":"EC5 - East Campus 5","street":"305 Phillip St.","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 5Z5","country":"ca","latitude":"43.475449","longitude":"-80.540750","source":"1","is_primary":"0","locpick":{"user_latitude":"43.475449","user_longitude":"-80.540750"},"province_name":"Ontario","country_name":"Canada"},{"lid":"42","name":"ECH - East Campus Hall","street":"200 University Ave West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.473663","longitude":"-80.538647","source":"1","is_primary":"0","locpick":{"user_latitude":"43.473663","user_longitude":"-80.538647"},"province_name":"Ontario","country_name":"Canada"},{"lid":"43","name":"EIT - Centre for Environmental and Information Technology","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.471495","longitude":"-80.542064","source":"1","is_primary":"0","locpick":{"user_latitude":"43.471495","user_longitude":"-80.542064"},"province_name":"Ontario","country_name":"Canada"},{"lid":"44","name":"ERC - Energy Research Centre","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.473625","longitude":"-80.544478","source":"1","is_primary":"0","locpick":{"user_latitude":"43.473625","user_longitude":"-80.544478"},"province_name":"Ontario","country_name":"Canada"},{"lid":"45","name":"ESC - Earth Sciences \u0026 Chemistry","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.471349","longitude":"-80.542703","source":"1","is_primary":"0","locpick":{"user_latitude":"43.471349","user_longitude":"-80.542703"},"province_name":"Ontario","country_name":"Canada"},{"lid":"46","name":"EV1 - Environment 1","street":"200 University Ave West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.468396","longitude":"-80.542622","source":"1","is_primary":"0","locpick":{"user_latitude":"43.468396","user_longitude":"-80.542622"},"province_name":"Ontario","country_name":"Canada"},{"lid":"47","name":"EV2 - Environment 2","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.468069","longitude":"-80.543352","source":"1","is_primary":"0","locpick":{"user_latitude":"43.468069","user_longitude":"-80.543352"},"province_name":"Ontario","country_name":"Canada"},{"lid":"48","name":"EV3 - Environment 3","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.468245","longitude":"-80.543365","source":"1","is_primary":"0","locpick":{"user_latitude":"43.468245","user_longitude":"-80.543365"},"province_name":"Ontario","country_name":"Canada"},{"lid":"49","name":"FED - Federation Hall","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.473247","longitude":"-80.548641","source":"1","is_primary":"0","locpick":{"user_latitude":"43.473247","user_longitude":"-80.548641"},"province_name":"Ontario","country_name":"Canada"},{"lid":"537","name":"GA - Centre for Extended Learning","street":"335 Gage Ave","additional":"","city":"Kitchener","province":"ON","postal_code":"N2M 5C6","country":"ca","latitude":"43.446301","longitude":"-80.519580","source":"1","is_primary":"0","locpick":{"user_latitude":"43.446301","user_longitude":"-80.519580"},"province_name":"Ontario","country_name":"Canada"},{"lid":"50","name":"GA - Centre for Extended Learning","street":"335 Gage Avenue","additional":"","city":"Kitchener","province":"ON","postal_code":"N2M 2C8","country":"ca","latitude":"43.445850","longitude":"-80.518400","source":"1","is_primary":"0","locpick":{"user_latitude":"43.445850","user_longitude":"-80.518400"},"province_name":"Ontario","country_name":"Canada"},{"lid":"51","name":"GH - Graduate House","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.469658","longitude":"-80.541035","source":"1","is_primary":"0","locpick":{"user_latitude":"43.469658","user_longitude":"-80.541035"},"province_name":"Ontario","country_name":"Canada"},{"lid":"52","name":"GSC - General Services Complex","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.473422","longitude":"-80.543084","source":"1","is_primary":"0","locpick":{"user_latitude":"43.473422","user_longitude":"-80.543084"},"province_name":"Ontario","country_name":"Canada"},{"lid":"536","name":"GSK - English@Gaukel","street":"44 Gaukel Street","additional":"","city":"Kitchener","province":"ON","postal_code":"N2G 4P3","country":"ca","latitude":"43.449892","longitude":"-80.493580","source":"1","is_primary":"0","locpick":{"user_latitude":"43.449892","user_longitude":"-80.493580"},"province_name":"Ontario","country_name":"Canada"},{"lid":"53","name":"HH - J.G. Hagey Hall of the Humanities","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.467929","longitude":"-80.541657","source":"1","is_primary":"0","locpick":{"user_latitude":"43.467929","user_longitude":"-80.541657"},"province_name":"Ontario","country_name":"Canada"},{"lid":"54","name":"HMN - Hildegard Marsden Nursery","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.476478","longitude":"-80.549349","source":"1","is_primary":"0","locpick":{"user_latitude":"43.476478","user_longitude":"-80.549349"},"province_name":"Ontario","country_name":"Canada"},{"lid":"55","name":"HS - Health Services","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.470586","longitude":"-80.546112","source":"1","is_primary":"0","locpick":{"user_latitude":"43.470586","user_longitude":"-80.546112"},"province_name":"Ontario","country_name":"Canada"},{"lid":"56","name":"HSC - Huntsville Summit Centre","street":"87 Forbes Hill Drive","additional":"","city":"Huntsville","province":"ON","postal_code":"P1H 0B6","country":"ca","latitude":"45.321113","longitude":"-79.206096","source":"1","is_primary":"0","locpick":{"user_latitude":"45.321113","user_longitude":"-79.206096"},"province_name":"Ontario","country_name":"Canada"},{"lid":"57","name":"IHB - Integrated Health Building 1","street":"10 Victoria Street South","additional":"","city":"Kitchener","province":"ON","postal_code":"N2G 2B2","country":"ca","latitude":"43.452319","longitude":"-80.499161","source":"1","is_primary":"0","locpick":{"user_latitude":"43.452319","user_longitude":"-80.499161"},"province_name":"Ontario","country_name":"Canada"},{"lid":"58","name":"IQC - Institute for Quantum Computing","street":"475 Wes Graham Way","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 6R2","country":"ca","latitude":"43.478430","longitude":"-80.555080","source":"1","is_primary":"0","locpick":{"user_latitude":"43.478430","user_longitude":"-80.555080"},"province_name":"Ontario","country_name":"Canada"},{"lid":"59","name":"KDC - Klemmer Day Care","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.476023","longitude":"-80.549178","source":"1","is_primary":"0","locpick":{"user_latitude":"43.476023","user_longitude":"-80.549178"},"province_name":"Ontario","country_name":"Canada"},{"lid":"60","name":"LHI - Lyle S. Hallman Institute for Health Promotion","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.473259","longitude":"-80.545895","source":"1","is_primary":"0","locpick":{"user_latitude":"43.473259","user_longitude":"-80.545895"},"province_name":"Ontario","country_name":"Canada"},{"lid":"61","name":"LIB - Dana Porter Library","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.469844","longitude":"-80.542429","source":"1","is_primary":"0","locpick":{"user_latitude":"43.469844","user_longitude":"-80.542429"},"province_name":"Ontario","country_name":"Canada"},{"lid":"62","name":"M3 - Mathematics 3","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.473020","longitude":"-80.544480","source":"1","is_primary":"0","locpick":{"user_latitude":"43.473020","user_longitude":"-80.544480"},"province_name":"Ontario","country_name":"Canada"},{"lid":"63","name":"MC - Mathematics \u0026 Computer Building","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.472075","longitude":"-80.543947","source":"1","is_primary":"0","locpick":{"user_latitude":"43.472075","user_longitude":"-80.543947"},"province_name":"Ontario","country_name":"Canada"},{"lid":"64","name":"MHR - Minota Hagey Residence","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.465795","longitude":"-80.542751","source":"1","is_primary":"0","locpick":{"user_latitude":"43.465795","user_longitude":"-80.542751"},"province_name":"Ontario","country_name":"Canada"},{"lid":"65","name":"MKV - William Lyon Mackenzie King Village","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2J 4Z2","country":"ca","latitude":"43.471509","longitude":"-80.552729","source":"1","is_primary":"0","locpick":{"user_latitude":"43.471509","user_longitude":"-80.552729"},"province_name":"Ontario","country_name":"Canada"},{"lid":"66","name":"ML - Modern Languages","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.469097","longitude":"-80.542880","source":"1","is_primary":"0","locpick":{"user_latitude":"43.469097","user_longitude":"-80.542880"},"province_name":"Ontario","country_name":"Canada"},{"lid":"67","name":"NH - Ira G. Needles Hall","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.469626","longitude":"-80.543631","source":"1","is_primary":"0","locpick":{"user_latitude":"43.469626","user_longitude":"-80.543631"},"province_name":"Ontario","country_name":"Canada"},{"lid":"68","name":"OPT - Optometry Building","street":"200 Columbia Street West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.475925","longitude":"-80.545530","source":"1","is_primary":"0","locpick":{"user_latitude":"43.475925","user_longitude":"-80.545530"},"province_name":"Ontario","country_name":"Canada"},{"lid":"69","name":"PAC - Physical Activities Complex","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.472424","longitude":"-80.546133","source":"1","is_primary":"0","locpick":{"user_latitude":"43.472424","user_longitude":"-80.546133"},"province_name":"Ontario","country_name":"Canada"},{"lid":"70","name":"PAS - Psychology, Anthropology, Sociology","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.466995","longitude":"-80.542515","source":"1","is_primary":"0","locpick":{"user_latitude":"43.466995","user_longitude":"-80.542515"},"province_name":"Ontario","country_name":"Canada"},{"lid":"71","name":"PHR - School of Pharmacy","street":"10 Victoria Street South","additional":"","city":"Kitchener","province":"ON","postal_code":"N2G 2B2","country":"ca","latitude":"43.452845","longitude":"-80.499032","source":"1","is_primary":"0","locpick":{"user_latitude":"43.452845","user_longitude":"-80.499032"},"province_name":"Ontario","country_name":"Canada"},{"lid":"72","name":"PHY - Physics","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.470716","longitude":"-80.541678","source":"1","is_primary":"0","locpick":{"user_latitude":"43.470716","user_longitude":"-80.541678"},"province_name":"Ontario","country_name":"Canada"},{"lid":"73","name":"QNC - Quantum Nano Centre","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.471174","longitude":"-80.544476","source":"1","is_primary":"0","locpick":{"user_latitude":"43.471174","user_longitude":"-80.544476"},"province_name":"Ontario","country_name":"Canada"},{"lid":"74","name":"RA2 - Research Advancement Centre 2","street":"475 Wes Graham Way","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 6R2","country":"ca","latitude":"43.478630","longitude":"-80.555530","source":"1","is_primary":"0","locpick":{"user_latitude":"43.478630","user_longitude":"-80.555530"},"province_name":"Ontario","country_name":"Canada"},{"lid":"75","name":"RAC - Research Advancement Centre","street":"475 Wes Graham Way","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 6R2","country":"ca","latitude":"43.478840","longitude":"-80.554980","source":"1","is_primary":"0","locpick":{"user_latitude":"43.478840","user_longitude":"-80.554980"},"province_name":"Ontario","country_name":"Canada"},{"lid":"76","name":"RCH - J.R. Coutts Engineering Lecture Hall","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.470312","longitude":"-80.540841","source":"1","is_primary":"0","locpick":{"user_latitude":"43.470312","user_longitude":"-80.540841"},"province_name":"Ontario","country_name":"Canada"},{"lid":"77","name":"REN - Renison University College","street":"240 Westmount Road North","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G4","country":"ca","latitude":"43.468817","longitude":"-80.547622","source":"1","is_primary":"0","locpick":{"user_latitude":"43.468817","user_longitude":"-80.547622"},"province_name":"Ontario","country_name":"Canada"},{"lid":"78","name":"REV - Ron Eydt Village","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2J 4C1","country":"ca","latitude":"43.470156","longitude":"-80.554124","source":"1","is_primary":"0","locpick":{"user_latitude":"43.470156","user_longitude":"-80.554124"},"province_name":"Ontario","country_name":"Canada"},{"lid":"79","name":"SCC - Sino-Canadian College","street":"22 Hankou Road","additional":"","city":"Nanjing Shi","province":"Jiangsu Sheng","postal_code":"210093","country":"cn","latitude":"32.055800","longitude":"118.780240","source":"1","is_primary":"0","locpick":{"user_latitude":"32.055800","user_longitude":"118.780240"},"province_name":"Jiangsu Sheng","country_name":"China"},{"lid":"80","name":"SCH - South Campus Hall","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.469159","longitude":"-80.540584","source":"1","is_primary":"0","locpick":{"user_latitude":"43.469159","user_longitude":"-80.540584"},"province_name":"Ontario","country_name":"Canada"},{"lid":"81","name":"SLC - Student Life Centre","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.471601","longitude":"-80.545455","source":"1","is_primary":"0","locpick":{"user_latitude":"43.471601","user_longitude":"-80.545455"},"province_name":"Ontario","country_name":"Canada"},{"lid":"464","name":"STC - Science Teaching Complex","street":"200 University Ave West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.470562","longitude":"-80.543451","source":"1","is_primary":"0","locpick":{"user_latitude":"43.470562","user_longitude":"-80.543451"},"province_name":"Ontario","country_name":"Canada"},{"lid":"82","name":"STJ - St. Jerome\u0027s University","street":"290 Westmount Road North","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G3","country":"ca","latitude":"43.469268","longitude":"-80.545884","source":"1","is_primary":"0","locpick":{"user_latitude":"43.469268","user_longitude":"-80.545884"},"province_name":"Ontario","country_name":"Canada"},{"lid":"83","name":"STP - St. Paul\u0027s University College","street":"190 Westmount Road North","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G5","country":"ca","latitude":"43.467762","longitude":"-80.546404","source":"1","is_primary":"0","locpick":{"user_latitude":"43.467762","user_longitude":"-80.546404"},"province_name":"Ontario","country_name":"Canada"},{"lid":"84","name":"TC - William M. Tatham Centre for Co-operative Education \u0026 Career Action","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.469000","longitude":"-80.541324","source":"1","is_primary":"0","locpick":{"user_latitude":"43.469000","user_longitude":"-80.541324"},"province_name":"Ontario","country_name":"Canada"},{"lid":"85","name":"TH - Tutors\u0027 Houses","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.470546","longitude":"-80.552748","source":"1","is_primary":"0","locpick":{"user_latitude":"43.470546","user_longitude":"-80.552748"},"province_name":"Ontario","country_name":"Canada"},{"lid":"533","name":"TJB - Toby Jenkins Applied Health Research Building","street":"340 Hagey Blvd","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 0A7","country":"ca","latitude":"43.479190","longitude":"-80.548320","source":"1","is_primary":"0","locpick":{"user_latitude":"43.479190","user_longitude":"-80.548320"},"province_name":"Ontario","country_name":"Canada"},{"lid":"86","name":"UAE - United Arab Emirates Campus","street":"East Wing, Dubai Mens College Campus, Academic City","additional":"","city":"Dubai","province":"Dubai","postal_code":"","country":"ae","latitude":"25.110083","longitude":"55.394681","source":"1","is_primary":"0","locpick":{"user_latitude":"25.110083","user_longitude":"55.394681"},"province_name":"Dubai","country_name":"United Arab Emirates"},{"lid":"87","name":"UC - University Club","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.472334","longitude":"-80.547378","source":"1","is_primary":"0","locpick":{"user_latitude":"43.472334","user_longitude":"-80.547378"},"province_name":"Ontario","country_name":"Canada"},{"lid":"88","name":"UWP - University of Waterloo Place","street":"163 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3E5","country":"ca","latitude":"43.470640","longitude":"-80.535840","source":"1","is_primary":"0","locpick":{"user_latitude":"43.470640","user_longitude":"-80.535840"},"province_name":"Ontario","country_name":"Canada"},{"lid":"89","name":"V1 - Student Village 1","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.471600","longitude":"-80.549960","source":"1","is_primary":"0","locpick":{"user_latitude":"43.471600","user_longitude":"-80.549960"},"province_name":"Ontario","country_name":"Canada"},{"lid":"90","name":"WFF - Warrior Football Field","street":"200 University Avenue West","additional":"","city":"Waterloo","province":"ON","postal_code":"N2L 3G1","country":"ca","latitude":"43.474700","longitude":"-80.550140","source":"1","is_primary":"0","locpick":{"user_latitude":"43.474700","user_longitude":"-80.550140"},"province_name":"Ontario","country_name":"Canada"}]
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment