From 130d9833a79ad946b4eb4e1225fca92f6f07ed94 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Tue, 21 Aug 2018 15:08:01 -0400 Subject: [PATCH] Updates for the new openmaps. Updates for new maps. --- .../views/front/events/detail.html | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/glm-member-db-events/views/front/events/detail.html b/glm-member-db-events/views/front/events/detail.html index 1e827a4..07fea8f 100644 --- a/glm-member-db-events/views/front/events/detail.html +++ b/glm-member-db-events/views/front/events/detail.html @@ -26,7 +26,12 @@
{if $event.locations.lat && $event.locations.address}
+ {if $settings.selected_map_interface == 1} +
map...
+ {/if} + {if $settings.selected_map_interface == 2}
map...
+ {/if}
Loading...
@@ -181,6 +186,76 @@ var view_select = $("#glm-event-view-select"); view_select.hide(); + + {if $settings.selected_map_interface == 1} + + /* + * Leaflet Map + * API reference: https://leafletjs.com/reference-1.3.2.html + */ + + // Get member location if available, otherwise use this site's default locatgion + var myLocation = false; + var eventLat = $("#event-lat").attr('rel'); + var eventLon = $("#event-lon").attr('rel'); + var mapType = "eventDetail-map"; + var mapOptions = { dragging: false, zoomControl: false }; + var attributionText = 'Map © OpenStreetMap Contrib, CC-BY-SA'; + + function initMap() { + + var leafletMap = L.map(mapType, mapOptions ).setView([eventLat, eventLon], {$settings.maps_default_zoom}); + var leafletTileServer = '{$settings.leaflet_tile_server}/{$settings.leaflet_tile_server_key}/' + {literal}'{z}/{x}/{y}.png'{/literal}; + var leafletMinZoom = 5; + var leafletMaxZoom = 18; + var geocoder; + + // Tile server + L.tileLayer(leafletTileServer, { + attribution: attributionText, + minZoom: leafletMinZoom, + maxZoom: leafletMaxZoom, + id: 'nothot' + }).addTo(leafletMap); + + var loadingControl = L.Control.loading({ + separate: true, + delayIndicator: 500 + }); + leafletMap.addControl(loadingControl); + + // Marker + var leafletMarker = L.marker([eventLat, eventLon]).addTo(leafletMap); + + } + + $(window).load(function(){ + initMap(); + }); + + jQuery('#map-dialog').dialog({ + height: 490, + width: 630, + modal: true, + autoOpen: false + }); + + var largeMapInit = false; + jQuery("#eventDetail-map").click(function(e){ + e.preventDefault(); + jQuery("#map-dialog").dialog('open'); + if (!largeMapInit) { + mapType = "map_canvas"; + mapOptions = {}; + attributionText = 'Map data © OpenStreetMap contributors, CC-BY-SA, Imagery © Gaslight Media'; + initMap(); + largeMapinit = true; + } + }); + + {/if} + + // Replace the phone separation character with whatever is set in the management {if $settings.phone_infix} //var processedPhone = $('.glm-event-detail-contact-phone .glm-field-value').text().trim().replace(/[^a-zA-Z0-9 ]/g, '{$settings.phone_infix}'); -- 2.17.1