From dc6b8c53ec069130b4517db596e0fe903d2529d2 Mon Sep 17 00:00:00 2001 From: Jonny Barnes Date: Fri, 25 Nov 2016 15:59:04 +0000 Subject: [PATCH] Squashed commit of the following: commit f00503ad21200f49b360b64297e6969768721ff6 Author: Jonny Barnes Date: Fri Nov 25 15:58:53 2016 +0000 Update changelog commit dc0e92b0b9085609525ec937d21625ddca5350d7 Author: Jonny Barnes Date: Fri Nov 25 15:58:17 2016 +0000 gulp derived assets commit 78501ee5ffe39ca0c96539d5406fcdc4170176c4 Author: Jonny Barnes Date: Fri Nov 25 15:57:47 2016 +0000 Add navigation controls, fixes #37 --- changelog.md | 1 + public/assets/js/maps.js | 2 +- public/assets/js/maps.js.br | Bin 568 -> 583 bytes public/assets/js/maps.js.gz | Bin 674 -> 694 bytes public/assets/js/maps/maps.js.map | 2 +- public/assets/js/maps/newnote.js.map | 2 +- public/assets/js/newnote.js | 2 +- public/assets/js/newnote.js.br | Bin 1737 -> 1750 bytes public/assets/js/newnote.js.gz | Bin 1961 -> 1980 bytes resources/assets/js/maps.js | 1 + resources/assets/js/newnote.js | 1 + 11 files changed, 7 insertions(+), 4 deletions(-) diff --git a/changelog.md b/changelog.md index 5e33bada..d5ccf258 100644 --- a/changelog.md +++ b/changelog.md @@ -4,6 +4,7 @@ - improved contact h-cards - Better look in /contacts - h-cards now have person-tags (issue#36) + - maps now have zoom controls (issue#37) ## Version 0.0.16.1 (2016-11-22) - Break words diff --git a/public/assets/js/maps.js b/public/assets/js/maps.js index cde37385..dab34f57 100644 --- a/public/assets/js/maps.js +++ b/public/assets/js/maps.js @@ -1,2 +1,2 @@ -var mapDivs=document.querySelectorAll(".map");mapboxgl.accessToken="pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw";for(var i=0;ii4tP5(aEmKjvAis`&!K{kR*v!v|w{psGdgfb3O=->PI zUu!MfH@Ub(5}2R~WD-gbak~|0181Zaq`3zwG)Bm?+sXmenR)#7!P~pr)V@RwX~w-VpLU25gWJtQnPz zJbFuo5ycd6OBjV!#06R+;E`Q&Ou_EPj3MAW{BMGI0O0sG-sVYM7&GuLg@Idxs_DlH z6YxVVQqbyQEUaT3;NSfo0ug!&rnXsI6a0swFk3?di@#iw znNvggub-qEbz%RqPwbR^F@q;BzWh^}F6T>E@OVn;kxnxw@eKOUe6lhfl{|`aj+=zm ziF%9)NTX0s|{|Y*oP{I1V^`&DfG;pnDl|~i0hCf4+PtU%i VuL0Tk{#doQpoXSRNOo-vW&o;G9033T literal 568 zcmV-80>}LuR0jZz(-rd~g>mn&P5=G8x|;<{fQehhf~*9WW=YxUd;Gm?0Y({zDfI8& z>)MOB_IC6d4dO(2s{dWhStKpQwCt$^kpc{IFcd2*s0R2|dnn;^b$T?E*pA#^m` z(1LR5;x^&`F!X8YV6%Eu9_)Zo?;z8BmkkGx*=X>>p06IQ^S(P&T~)uf?BSoh{c?R# z==P(m-znM1w<6u!S84TlfTIhwHh(W9KM7u}gNNJL*m?RWV0zhLC-MWH)RF@obV=85#qv`p?4V!0zUPa z9~(^253NYSt4A3elaa{peosJzo`bwv_h`r(W4wsKkz0p^B&Yckk|LaMO8EiQDIFho z7aT^Vj|gOgi~m79L3A-7W&MFi?7^?GSB5WoCLD#k1%DtCJs>QA$Z=C3d~=|cIS~Al zv5B_;bcO{W5=~I6)tcEObPlA%Bq34@p`ee2J=PhBdNu*%MX7Cm;+sXkD9m4Ih?*~# z#Bypv{Q60zQJ3^D`((!1moj*M>dQYhl^wBk#Yd-9SCnof5dt&s1evbb{6RiHI+he! zlvH_o4ku>%>@S~biuw}I!FIj_ GhvPjGGZ#Pr diff --git a/public/assets/js/maps.js.gz b/public/assets/js/maps.js.gz index 9c39e846036d779d4ec07422d4a03ae22bf2f49d..03e56d66f3ffacb19a7c819e0741843acc7fdc12 100644 GIT binary patch literal 694 zcmV;n0!jTJiwFP!000021Fe;3bK@WohQH@mL8F(?ALj{p0i zSh&}jbBBFcEibRu733|Jk-I}GB5QN(mx0OXrw?BJ8Yp1Ny-iAurKn<-%(VK<@tQ-U z2xAc9hL?b4m)uem>PLygA}6T)*UvFZ9v_bUr-xH=vVBwt<{y(ZiFXRc$NTt?)1A#K zE*{14e!_oZg-=}mlSK8SztPXlWCQLtBTVqq!r#L^&;EIQSzSu!xn~4*l59LpGGVn* z3e1s(G}+iNo84Vx!|*eCwJ4HA`Zk1fQ5#7lKt}bvMLBau6FOi4?aG2ZKoWK-1S4a~ zCKV+K&?u%zh!Y}Y6xp`1R7PG2JQWJ7ItAuWNfJ`SncRrN{4kf09)J{w%=P8igd~Wn z1-)=ofZUYQBROA!LhL1LDU2_f)&x@4T~MrtY{Dm#43z^?a>t=C8Lc4d!>kqH0^ky; zg7vRKTnV*X0VV_0fPtr$P=ZTKR^De=63z^>sdNm|UduXFDcdGa#bP2Di&%Rc3$sQl zf0xWwpWr7bH^Bxph=zh|cwiICz=QkkqR4fD+1mv|ZDZgXH&Byj+*TQ`_1ds76{M6% zn9&OwAMXZDsOq}(435z3OrFs2jIPl5|2}A)x9_O+z=!v zS9j@GtHF6WmH251>~Tt;g3-4`>#J)9uGr>Gs({f~&l#!^2L-kW!=^P*Z_uO-pjMOT z^8#e*Ig*H5k!1X}Wk%KbggGZj8lws_gR9?r3$fVpqTs%V;Zy;H cIk#6QSrz`0Ktzios=gQg0es4@Cxiz80GSt2^Z)<= literal 674 zcmV;T0$u$diwFP!000021FeNO{BSz=}>-PeSJ?b6Dd9HU5iAjFQKPqv+}3l$>lIRn7immS*uzwf1=u0H~!6{&e4C#&&_NX?lu!l^3&>nhkGLU>-e(em6q2BlcHgI*Rb~^`-~%1Xf(0N2yA;gI zbpq1Vk^oI&iljUtQYBFkxK0C!ItXowqdEl^EpZZ4)1JbF#-iAlR02TBLl#DAu0vw1 z`oJih)H!V`B}ge!ppn4wo!IVp{sK~ULeQ*00pW{Dh8l)cyi%dC7;PdN!KxA9D&RWk zfbFkITnn|^)R`OAfPv6QD8Y5dFGmb3!kO#!w2sE@wdzoCoqiMNQYmTHGSy$FVy}tj ze~$MxCin>|EocL3tg+x0o=8GB@MOM26onzMV7p3a;7(lQ2HNV32jDu__G}!OHd0Cy ztk??{pWh9Z(9sR)6*|JQEA@nhSL_Ol|LQ_pzhkAgn=2OE;&aPAThet(K0NRFc0i1t z9K8+Z6SmK06XO~$VfudTSSvDUZ44d=rzmuLm@|b41Ci^`Q~z7|+zNM`kF^B)-1Bhq z+A00&cR6q5GJp9J3r^{iS^bvLb(;vlOkEeK-{a-7E=cY, then adds map\nvar mapDivs = document.querySelectorAll('.map');\nmapboxgl.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw';\nfor (var i = 0; i < mapDivs.length; i++) {\n var mapDiv = mapDivs[i];\n var latitude = mapDiv.dataset.latitude;\n var longitude = mapDiv.dataset.longitude;\n var el = document.createElement('div');\n el.classList.add('marker');\n var mapMenu = document.createElement('div');\n mapMenu.classList.add('map-menu');\n var streetsInput = document.createElement('input');\n streetsInput.setAttribute('id', 'streets');\n streetsInput.setAttribute('type', 'radio');\n streetsInput.setAttribute('name', 'toggle');\n streetsInput.setAttribute('value', 'streets');\n streetsInput.setAttribute('checked', 'checked');\n streetsInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/streets-v9');\n });\n var streetsLabel = document.createElement('label');\n streetsLabel.setAttribute('for', 'streets');\n streetsLabel.appendChild(document.createTextNode('Streets'));\n var satelliteInput = document.createElement('input');\n satelliteInput.setAttribute('id', 'satellite');\n satelliteInput.setAttribute('type', 'radio');\n satelliteInput.setAttribute('name', 'toggle');\n satelliteInput.setAttribute('value', 'streets');\n satelliteInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/satellite-v9');\n });\n var satelliteLabel = document.createElement('label');\n satelliteLabel.setAttribute('for', 'satellite');\n satelliteLabel.appendChild(document.createTextNode('Satellite'));\n mapMenu.appendChild(streetsInput);\n mapMenu.appendChild(streetsLabel);\n mapMenu.appendChild(satelliteInput);\n mapMenu.appendChild(satelliteLabel);\n var map = new mapboxgl.Map({\n container: mapDiv,\n style: 'mapbox://styles/mapbox/streets-v9',\n center: [longitude, latitude],\n zoom: 15,\n scrollZoom: false\n });\n new mapboxgl.Marker(el, {offset: [-10, -20]}).setLngLat([longitude, latitude]).addTo(map);\n mapDiv.appendChild(mapMenu);\n}\n"]} \ No newline at end of file +{"version":3,"sources":["maps.js"],"names":["mapDivs","document","querySelectorAll","mapboxgl","accessToken","i","length","mapDiv","latitude","dataset","longitude","el","createElement","classList","add","mapMenu","streetsInput","setAttribute","addEventListener","map","setStyle","streetsLabel","appendChild","createTextNode","satelliteInput","satelliteLabel","Map","container","style","center","zoom","scrollZoom","addControl","NavigationControl","Marker","offset","setLngLat","addTo"],"mappings":"AAEA,GAAIA,SAAUC,SAASC,iBAAiB,OACxCC,UAASC,YAAc,gGACvB,KAAK,GAAIC,GAAI,EAAGA,EAAIL,QAAQM,OAAQD,IAAK,CACrC,GAAIE,QAASP,QAAQK,GACjBG,SAAWD,OAAOE,QAAQD,SAC1BE,UAAaH,OAAOE,QAAQC,UAC5BC,GAAKV,SAASW,cAAc,MAChCD,IAAGE,UAAUC,IAAI,SACjB,IAAIC,SAAUd,SAASW,cAAc,MACrCG,SAAQF,UAAUC,IAAI,WACtB,IAAIE,cAAef,SAASW,cAAc,QAC1CI,cAAaC,aAAa,KAAM,WAChCD,aAAaC,aAAa,OAAQ,SAClCD,aAAaC,aAAa,OAAQ,UAClCD,aAAaC,aAAa,QAAS,WACnCD,aAAaC,aAAa,UAAW,WACrCD,aAAaE,iBAAiB,QAAS,WACnCC,IAAIC,SAAS,sCAEjB,IAAIC,cAAepB,SAASW,cAAc,QAC1CS,cAAaJ,aAAa,MAAO,WACjCI,aAAaC,YAAYrB,SAASsB,eAAe,WACjD,IAAIC,gBAAiBvB,SAASW,cAAc,QAC5CY,gBAAeP,aAAa,KAAM,aAClCO,eAAeP,aAAa,OAAQ,SACpCO,eAAeP,aAAa,OAAQ,UACpCO,eAAeP,aAAa,QAAS,WACrCO,eAAeN,iBAAiB,QAAS,WACrCC,IAAIC,SAAS,wCAEjB,IAAIK,gBAAiBxB,SAASW,cAAc,QAC5Ca,gBAAeR,aAAa,MAAO,aACnCQ,eAAeH,YAAYrB,SAASsB,eAAe,cACnDR,QAAQO,YAAYN,cACpBD,QAAQO,YAAYD,cACpBN,QAAQO,YAAYE,gBACpBT,QAAQO,YAAYG,eACpB,IAAIN,KAAM,GAAIhB,UAASuB,KACnBC,UAAWpB,OACXqB,MAAO,oCACPC,QAASnB,UAAWF,UACpBsB,KAAM,GACNC,YAAY,GAEhBZ,KAAIa,WAAW,GAAI7B,UAAS8B,mBAC5B,GAAI9B,UAAS+B,OAAOvB,IAAKwB,SAAS,IAAK,MAAOC,WAAW1B,UAAWF,WAAW6B,MAAMlB,KACrFZ,OAAOe,YAAYP","file":"../maps.js","sourcesContent":["/* global mapboxgl */\n//This code runs on page load and looks for
, then adds map\nvar mapDivs = document.querySelectorAll('.map');\nmapboxgl.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw';\nfor (var i = 0; i < mapDivs.length; i++) {\n var mapDiv = mapDivs[i];\n var latitude = mapDiv.dataset.latitude;\n var longitude = mapDiv.dataset.longitude;\n var el = document.createElement('div');\n el.classList.add('marker');\n var mapMenu = document.createElement('div');\n mapMenu.classList.add('map-menu');\n var streetsInput = document.createElement('input');\n streetsInput.setAttribute('id', 'streets');\n streetsInput.setAttribute('type', 'radio');\n streetsInput.setAttribute('name', 'toggle');\n streetsInput.setAttribute('value', 'streets');\n streetsInput.setAttribute('checked', 'checked');\n streetsInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/streets-v9');\n });\n var streetsLabel = document.createElement('label');\n streetsLabel.setAttribute('for', 'streets');\n streetsLabel.appendChild(document.createTextNode('Streets'));\n var satelliteInput = document.createElement('input');\n satelliteInput.setAttribute('id', 'satellite');\n satelliteInput.setAttribute('type', 'radio');\n satelliteInput.setAttribute('name', 'toggle');\n satelliteInput.setAttribute('value', 'streets');\n satelliteInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/satellite-v9');\n });\n var satelliteLabel = document.createElement('label');\n satelliteLabel.setAttribute('for', 'satellite');\n satelliteLabel.appendChild(document.createTextNode('Satellite'));\n mapMenu.appendChild(streetsInput);\n mapMenu.appendChild(streetsLabel);\n mapMenu.appendChild(satelliteInput);\n mapMenu.appendChild(satelliteLabel);\n var map = new mapboxgl.Map({\n container: mapDiv,\n style: 'mapbox://styles/mapbox/streets-v9',\n center: [longitude, latitude],\n zoom: 15,\n scrollZoom: false\n });\n map.addControl(new mapboxgl.NavigationControl());\n new mapboxgl.Marker(el, {offset: [-10, -20]}).setLngLat([longitude, latitude]).addTo(map);\n mapDiv.appendChild(mapMenu);\n}\n"]} \ No newline at end of file diff --git a/public/assets/js/maps/newnote.js.map b/public/assets/js/maps/newnote.js.map index 81044df7..dbc589e0 100644 --- a/public/assets/js/maps/newnote.js.map +++ b/public/assets/js/maps/newnote.js.map @@ -1 +1 @@ -{"version":3,"sources":["newnote.js"],"names":["getLocation","navigator","geolocation","getCurrentPosition","position","addPlacesMap","coords","latitude","longitude","accuracy","uncertainty","fetch","credentials","method","then","response","json","j","error","alertify","reset","error_description","places","length","i","latlng","parseLocation","location","name","uri","push","addMap","catch","err","console","arguments","form","document","querySelector","mapDiv","createElement","classList","add","appendChild","mapboxgl","accessToken","map","Map","container","style","center","zoom","el","mapMenu","streetsInput","setAttribute","addEventListener","setStyle","streetsLabel","createTextNode","satelliteInput","satelliteLabel","Marker","offset","setLngLat","addTo","containingDiv","selectEl","noLocation","geoLocation","dataset","insertBefore","forEach","item","option","text","placeMarkerIcon","flyTo","selectPlace","value","placeLat","selectedIndex","placeLon","newLocButton","nameDiv","nameLabel","nameEl","descDiv","descLabel","descEl","latDiv","latLabel","latEl","getLatitudeFromMapbox","getCenter","lonDiv","lonLabel","lonEl","getLongitudeFromMapbox","placeSubmit","formData","FormData","append","body","placeJson","Error","labels","querySelectorAll","removeChild","parentNode","newPlaceButton","newOption","newPlaceMarkerIcon","placeError","point","re","resultArray","exec","split","selected","lnglat","replace","button","disabled"],"mappings":"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","file":"../newnote.js","sourcesContent":["/* global mapboxgl, alertify */\nif ('geolocation' in navigator) {\n var button = document.querySelector('#locate');\n if (button.addEventListener) {\n //if we have javascript, event listeners and geolocation, make the locate\n //button clickable and add event\n button.disabled = false;\n button.addEventListener('click', getLocation);\n }\n}\n\nfunction getLocation() {\n navigator.geolocation.getCurrentPosition(function (position) {\n //the locate button has been clicked so add the places/map\n addPlacesMap(position.coords.latitude, position.coords.longitude, position.coords.accuracy);\n });\n}\n\nfunction addPlacesMap(latitude, longitude, uncertainty) {\n //get the nearby places\n fetch('/places/near/' + latitude + '/' + longitude + '?u=' + uncertainty, {\n credentials: 'same-origin',\n method: 'get'\n }).then(function (response) {\n return response.json();\n }).then(function (j) {\n if (j.error == true) {\n alertify.reset();\n alertify.error(j.error_description);\n }\n if (j.places.length > 0) {\n var i;\n var places = [];\n for (i = 0; i < j.places.length; ++i) {\n var latlng = parseLocation(j.places[i].location);\n var name = j.places[i].name;\n var uri = j.places[i].uri;\n places.push([name, uri, latlng[0], latlng[1]]);\n }\n //add a map with the nearby places\n addMap(latitude, longitude, places);\n } else {\n //add a map with just current location\n addMap(latitude, longitude);\n }\n }).catch(function (err) {\n console.error(err);\n });\n}\n\nfunction addMap(latitude, longitude, places) {\n //make places null if not supplied\n if (arguments.length == 2) {\n places = null;\n }\n // the form has a fieldset element that we are actually targetting\n var form = document.querySelector('.note-ui');\n var mapDiv = document.createElement('div');\n mapDiv.classList.add('map');\n //add the map div\n form.appendChild(mapDiv);\n //set up the mapbox gl map\n mapboxgl.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw';\n var map = new mapboxgl.Map({\n container: mapDiv,\n style: 'mapbox://styles/mapbox/streets-v9',\n center: [longitude, latitude],\n zoom: 15\n });\n //create the current location marker\n var el = document.createElement('div');\n el.classList.add('marker');\n //create the map style menu\n var mapMenu = document.createElement('div');\n mapMenu.classList.add('map-menu');\n var streetsInput = document.createElement('input');\n streetsInput.setAttribute('id', 'streets');\n streetsInput.setAttribute('type', 'radio');\n streetsInput.setAttribute('name', 'toggle');\n streetsInput.setAttribute('value', 'streets');\n streetsInput.setAttribute('checked', 'checked');\n streetsInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/streets-v9');\n });\n var streetsLabel = document.createElement('label');\n streetsLabel.setAttribute('for', 'streets');\n streetsLabel.appendChild(document.createTextNode('Streets'));\n var satelliteInput = document.createElement('input');\n satelliteInput.setAttribute('id', 'satellite');\n satelliteInput.setAttribute('type', 'radio');\n satelliteInput.setAttribute('name', 'toggle');\n satelliteInput.setAttribute('value', 'streets');\n satelliteInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/satellite-v9');\n });\n var satelliteLabel = document.createElement('label');\n satelliteLabel.setAttribute('for', 'satellite');\n satelliteLabel.appendChild(document.createTextNode('Satellite'));\n mapMenu.appendChild(streetsInput);\n mapMenu.appendChild(streetsLabel);\n mapMenu.appendChild(satelliteInput);\n mapMenu.appendChild(satelliteLabel);\n //add the map menu\n mapDiv.appendChild(mapMenu);\n //add a marker for the current location\n new mapboxgl.Marker(el, {offset: [-10, -20]}).setLngLat([longitude, latitude]).addTo(map);\n //create containing div for flexbox\n var containingDiv = document.createElement('div');\n //create the \n places.forEach(function (item) {\n var option = document.createElement('option');\n option.setAttribute('value', item[1]);\n var text = document.createTextNode(item[0]);\n option.appendChild(text);\n option.dataset.latitude = item[2];\n option.dataset.longitude = item[3];\n selectEl.appendChild(option);\n var placeMarkerIcon = document.createElement('div');\n placeMarkerIcon.classList.add('marker');\n new mapboxgl.Marker(placeMarkerIcon, {offset: [-10, -20]}).setLngLat([item[3], item[2]]).addTo(map);\n placeMarkerIcon.addEventListener('click', function () {\n map.flyTo({\n center: [\n item[3],\n item[2]\n ]\n });\n selectPlace(item[1]);\n });\n });\n //add an event listener\n selectEl.addEventListener('change', function () {\n if (selectEl.value !== 'no-location') {\n var placeLat = selectEl[selectEl.selectedIndex].dataset.latitude;\n var placeLon = selectEl[selectEl.selectedIndex].dataset.longitude;\n map.flyTo({\n center: [\n placeLon,\n placeLat\n ]\n });\n }\n });\n }\n //add a button to add a new place\n var newLocButton = document.createElement('button');\n newLocButton.setAttribute('type', 'button');\n newLocButton.setAttribute('id', 'create-new-place');\n newLocButton.appendChild(document.createTextNode('Create New Place?'));\n //the event listener\n newLocButton.addEventListener('click', function() {\n //add the form elements\n var nameDiv = document.createElement('div');\n var nameLabel = document.createElement('label');\n nameLabel.setAttribute('for', 'place-name');\n nameLabel.classList.add('place-label');\n nameLabel.appendChild(document.createTextNode('Place Name:'));\n var nameEl = document.createElement('input');\n nameEl.setAttribute('placeholder', 'Name');\n nameEl.setAttribute('name', 'place-name');\n nameEl.setAttribute('id', 'place-name');\n nameEl.setAttribute('type', 'text');\n nameDiv.appendChild(nameLabel);\n nameDiv.appendChild(nameEl);\n var descDiv = document.createElement('div');\n var descLabel = document.createElement('label');\n descLabel.setAttribute('for', 'place-description');\n descLabel.classList.add('place-label');\n descLabel.appendChild(document.createTextNode('Place Description:'));\n var descEl = document.createElement('input');\n descEl.setAttribute('placeholder', 'Description');\n descEl.setAttribute('name', 'place-description');\n descEl.setAttribute('id', 'place-description');\n descEl.setAttribute('type', 'text');\n descDiv.appendChild(descLabel);\n descDiv.appendChild(descEl);\n var latDiv = document.createElement('div');\n var latLabel = document.createElement('label');\n latLabel.setAttribute('for', 'place-latitude');\n latLabel.classList.add('place-label');\n latLabel.appendChild(document.createTextNode('Place Latitude:'));\n var latEl = document.createElement('input');\n latEl.setAttribute('name', 'place-latitude');\n latEl.setAttribute('id', 'place-latitude');\n latEl.setAttribute('type', 'text');\n latEl.value = getLatitudeFromMapbox(map.getCenter());\n latDiv.appendChild(latLabel);\n latDiv.appendChild(latEl);\n var lonDiv = document.createElement('div');\n var lonLabel = document.createElement('label');\n lonLabel.setAttribute('for', 'place-longitude');\n lonLabel.classList.add('place-label');\n lonLabel.appendChild(document.createTextNode('Place Longitude:'));\n var lonEl = document.createElement('input');\n lonEl.setAttribute('name', 'place-longitude');\n lonEl.setAttribute('id', 'place-longitude');\n lonEl.setAttribute('type', 'text');\n lonEl.value = getLongitudeFromMapbox(map.getCenter());\n lonDiv.appendChild(lonLabel);\n lonDiv.appendChild(lonEl);\n var placeSubmit = document.createElement('button');\n placeSubmit.setAttribute('id', 'place-submit');\n placeSubmit.setAttribute('value', 'Submit New Place');\n placeSubmit.setAttribute('name', 'place-submit');\n placeSubmit.setAttribute('type', 'button');\n placeSubmit.appendChild(document.createTextNode('Submit New Place'));\n form.appendChild(nameDiv);\n form.appendChild(descDiv);\n form.appendChild(latDiv);\n form.appendChild(lonDiv);\n form.appendChild(placeSubmit);\n //the event listener for the new place form\n placeSubmit.addEventListener('click', function () {\n //create the form data to send\n var formData = new FormData();\n formData.append('place-name', document.querySelector('#place-name').value);\n formData.append('place-description', document.querySelector('#place-description').value);\n formData.append('place-latitude', document.querySelector('#place-latitude').value);\n formData.append('place-longitude', document.querySelector('#place-longitude').value);\n //post the new place\n fetch('/places/new', {\n //send cookies with the request\n credentials: 'same-origin',\n method: 'post',\n body: formData\n })\n .then(function (response) {\n return response.json();\n })\n .then(function (placeJson) {\n if (placeJson.error == true) {\n throw new Error(placeJson.error_description);\n }\n //remove un-needed form elements\n //iterate through labels and remove parent div elements\n var labels = document.querySelectorAll('.place-label');\n for (var i = 0; i < labels.length; ++i) {\n form.removeChild(labels[i].parentNode);\n }\n form.removeChild(document.querySelector('#place-submit'));\n var newPlaceButton = document.querySelector('#create-new-place');\n //in order to remove a DOM Node, you need to run removeChild on the parent Node\n newPlaceButton.parentNode.removeChild(newPlaceButton);\n //add place marker\n var newOption = document.createElement('option');\n newOption.setAttribute('value', placeJson.uri);\n newOption.appendChild(document.createTextNode(placeJson.name));\n newOption.dataset.latitude = placeJson.latitude;\n newOption.dataset.longitude = placeJson.longitude;\n selectEl.appendChild(newOption);\n var newPlaceMarkerIcon = document.createElement('div');\n newPlaceMarkerIcon.classList.add('marker');\n var newPlaceMarker = new mapboxgl.Marker(newPlaceMarkerIcon, {offset: [-10, -20]}).setLngLat([placeJson.longitude, placeJson.latitude]).addTo(map);\n map.flyTo({center: [placeJson.longitude, placeJson.latitude]});\n\n newPlaceMarkerIcon.addEventListener('click', function () {\n map.flyTo({center: [placeJson.longitude, placeJson.latitude]});\n selectPlace(placeJson.uri);\n });\n //make selected\n selectPlace(placeJson.uri);\n }).catch(function (placeError) {\n alertify.reset();\n alertify.error(placeError);\n });\n });\n });\n containingDiv.appendChild(newLocButton);\n}\n\nfunction parseLocation(point) {\n var re = /\\((.*)\\)/;\n var resultArray = re.exec(point);\n var location = resultArray[1].split(' ');\n\n return [location[1], location[0]];\n}\n\nfunction selectPlace(uri) {\n document.querySelector('select [value=\"' + uri + '\"]').selected = true;\n}\n\nfunction getLatitudeFromMapbox(lnglat) {\n var resultArray = /\\((.*)\\)/.exec(lnglat);\n var location = resultArray[1].split(' ');\n\n return location[1];\n}\n\nfunction getLongitudeFromMapbox(lnglat) {\n var resultArray = /\\((.*)\\)/.exec(lnglat);\n var location = resultArray[1].split(' ');\n\n return location[0].replace(',', '');\n}\n"]} \ No newline at end of file +{"version":3,"sources":["newnote.js"],"names":["getLocation","navigator","geolocation","getCurrentPosition","position","addPlacesMap","coords","latitude","longitude","accuracy","uncertainty","fetch","credentials","method","then","response","json","j","error","alertify","reset","error_description","places","length","i","latlng","parseLocation","location","name","uri","push","addMap","catch","err","console","arguments","form","document","querySelector","mapDiv","createElement","classList","add","appendChild","mapboxgl","accessToken","map","Map","container","style","center","zoom","addControl","NavigationControl","el","mapMenu","streetsInput","setAttribute","addEventListener","setStyle","streetsLabel","createTextNode","satelliteInput","satelliteLabel","Marker","offset","setLngLat","addTo","containingDiv","selectEl","noLocation","geoLocation","dataset","insertBefore","forEach","item","option","text","placeMarkerIcon","flyTo","selectPlace","value","placeLat","selectedIndex","placeLon","newLocButton","nameDiv","nameLabel","nameEl","descDiv","descLabel","descEl","latDiv","latLabel","latEl","getLatitudeFromMapbox","getCenter","lonDiv","lonLabel","lonEl","getLongitudeFromMapbox","placeSubmit","formData","FormData","append","body","placeJson","Error","labels","querySelectorAll","removeChild","parentNode","newPlaceButton","newOption","newPlaceMarkerIcon","placeError","point","re","resultArray","exec","split","selected","lnglat","replace","button","disabled"],"mappings":"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","file":"../newnote.js","sourcesContent":["/* global mapboxgl, alertify */\nif ('geolocation' in navigator) {\n var button = document.querySelector('#locate');\n if (button.addEventListener) {\n //if we have javascript, event listeners and geolocation, make the locate\n //button clickable and add event\n button.disabled = false;\n button.addEventListener('click', getLocation);\n }\n}\n\nfunction getLocation() {\n navigator.geolocation.getCurrentPosition(function (position) {\n //the locate button has been clicked so add the places/map\n addPlacesMap(position.coords.latitude, position.coords.longitude, position.coords.accuracy);\n });\n}\n\nfunction addPlacesMap(latitude, longitude, uncertainty) {\n //get the nearby places\n fetch('/places/near/' + latitude + '/' + longitude + '?u=' + uncertainty, {\n credentials: 'same-origin',\n method: 'get'\n }).then(function (response) {\n return response.json();\n }).then(function (j) {\n if (j.error == true) {\n alertify.reset();\n alertify.error(j.error_description);\n }\n if (j.places.length > 0) {\n var i;\n var places = [];\n for (i = 0; i < j.places.length; ++i) {\n var latlng = parseLocation(j.places[i].location);\n var name = j.places[i].name;\n var uri = j.places[i].uri;\n places.push([name, uri, latlng[0], latlng[1]]);\n }\n //add a map with the nearby places\n addMap(latitude, longitude, places);\n } else {\n //add a map with just current location\n addMap(latitude, longitude);\n }\n }).catch(function (err) {\n console.error(err);\n });\n}\n\nfunction addMap(latitude, longitude, places) {\n //make places null if not supplied\n if (arguments.length == 2) {\n places = null;\n }\n // the form has a fieldset element that we are actually targetting\n var form = document.querySelector('.note-ui');\n var mapDiv = document.createElement('div');\n mapDiv.classList.add('map');\n //add the map div\n form.appendChild(mapDiv);\n //set up the mapbox gl map\n mapboxgl.accessToken = 'pk.eyJ1Ijoiam9ubnliYXJuZXMiLCJhIjoiY2l2cDhjYW04MDAwcjJ0cG1uZnhqcm82ayJ9.qA2zeVA-nsoMh9IFrd5KQw';\n var map = new mapboxgl.Map({\n container: mapDiv,\n style: 'mapbox://styles/mapbox/streets-v9',\n center: [longitude, latitude],\n zoom: 15\n });\n map.addControl(new mapboxgl.NavigationControl());\n //create the current location marker\n var el = document.createElement('div');\n el.classList.add('marker');\n //create the map style menu\n var mapMenu = document.createElement('div');\n mapMenu.classList.add('map-menu');\n var streetsInput = document.createElement('input');\n streetsInput.setAttribute('id', 'streets');\n streetsInput.setAttribute('type', 'radio');\n streetsInput.setAttribute('name', 'toggle');\n streetsInput.setAttribute('value', 'streets');\n streetsInput.setAttribute('checked', 'checked');\n streetsInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/streets-v9');\n });\n var streetsLabel = document.createElement('label');\n streetsLabel.setAttribute('for', 'streets');\n streetsLabel.appendChild(document.createTextNode('Streets'));\n var satelliteInput = document.createElement('input');\n satelliteInput.setAttribute('id', 'satellite');\n satelliteInput.setAttribute('type', 'radio');\n satelliteInput.setAttribute('name', 'toggle');\n satelliteInput.setAttribute('value', 'streets');\n satelliteInput.addEventListener('click', function () {\n map.setStyle('mapbox://styles/mapbox/satellite-v9');\n });\n var satelliteLabel = document.createElement('label');\n satelliteLabel.setAttribute('for', 'satellite');\n satelliteLabel.appendChild(document.createTextNode('Satellite'));\n mapMenu.appendChild(streetsInput);\n mapMenu.appendChild(streetsLabel);\n mapMenu.appendChild(satelliteInput);\n mapMenu.appendChild(satelliteLabel);\n //add the map menu\n mapDiv.appendChild(mapMenu);\n //add a marker for the current location\n new mapboxgl.Marker(el, {offset: [-10, -20]}).setLngLat([longitude, latitude]).addTo(map);\n //create containing div for flexbox\n var containingDiv = document.createElement('div');\n //create the \n places.forEach(function (item) {\n var option = document.createElement('option');\n option.setAttribute('value', item[1]);\n var text = document.createTextNode(item[0]);\n option.appendChild(text);\n option.dataset.latitude = item[2];\n option.dataset.longitude = item[3];\n selectEl.appendChild(option);\n var placeMarkerIcon = document.createElement('div');\n placeMarkerIcon.classList.add('marker');\n new mapboxgl.Marker(placeMarkerIcon, {offset: [-10, -20]}).setLngLat([item[3], item[2]]).addTo(map);\n placeMarkerIcon.addEventListener('click', function () {\n map.flyTo({\n center: [\n item[3],\n item[2]\n ]\n });\n selectPlace(item[1]);\n });\n });\n //add an event listener\n selectEl.addEventListener('change', function () {\n if (selectEl.value !== 'no-location') {\n var placeLat = selectEl[selectEl.selectedIndex].dataset.latitude;\n var placeLon = selectEl[selectEl.selectedIndex].dataset.longitude;\n map.flyTo({\n center: [\n placeLon,\n placeLat\n ]\n });\n }\n });\n }\n //add a button to add a new place\n var newLocButton = document.createElement('button');\n newLocButton.setAttribute('type', 'button');\n newLocButton.setAttribute('id', 'create-new-place');\n newLocButton.appendChild(document.createTextNode('Create New Place?'));\n //the event listener\n newLocButton.addEventListener('click', function() {\n //add the form elements\n var nameDiv = document.createElement('div');\n var nameLabel = document.createElement('label');\n nameLabel.setAttribute('for', 'place-name');\n nameLabel.classList.add('place-label');\n nameLabel.appendChild(document.createTextNode('Place Name:'));\n var nameEl = document.createElement('input');\n nameEl.setAttribute('placeholder', 'Name');\n nameEl.setAttribute('name', 'place-name');\n nameEl.setAttribute('id', 'place-name');\n nameEl.setAttribute('type', 'text');\n nameDiv.appendChild(nameLabel);\n nameDiv.appendChild(nameEl);\n var descDiv = document.createElement('div');\n var descLabel = document.createElement('label');\n descLabel.setAttribute('for', 'place-description');\n descLabel.classList.add('place-label');\n descLabel.appendChild(document.createTextNode('Place Description:'));\n var descEl = document.createElement('input');\n descEl.setAttribute('placeholder', 'Description');\n descEl.setAttribute('name', 'place-description');\n descEl.setAttribute('id', 'place-description');\n descEl.setAttribute('type', 'text');\n descDiv.appendChild(descLabel);\n descDiv.appendChild(descEl);\n var latDiv = document.createElement('div');\n var latLabel = document.createElement('label');\n latLabel.setAttribute('for', 'place-latitude');\n latLabel.classList.add('place-label');\n latLabel.appendChild(document.createTextNode('Place Latitude:'));\n var latEl = document.createElement('input');\n latEl.setAttribute('name', 'place-latitude');\n latEl.setAttribute('id', 'place-latitude');\n latEl.setAttribute('type', 'text');\n latEl.value = getLatitudeFromMapbox(map.getCenter());\n latDiv.appendChild(latLabel);\n latDiv.appendChild(latEl);\n var lonDiv = document.createElement('div');\n var lonLabel = document.createElement('label');\n lonLabel.setAttribute('for', 'place-longitude');\n lonLabel.classList.add('place-label');\n lonLabel.appendChild(document.createTextNode('Place Longitude:'));\n var lonEl = document.createElement('input');\n lonEl.setAttribute('name', 'place-longitude');\n lonEl.setAttribute('id', 'place-longitude');\n lonEl.setAttribute('type', 'text');\n lonEl.value = getLongitudeFromMapbox(map.getCenter());\n lonDiv.appendChild(lonLabel);\n lonDiv.appendChild(lonEl);\n var placeSubmit = document.createElement('button');\n placeSubmit.setAttribute('id', 'place-submit');\n placeSubmit.setAttribute('value', 'Submit New Place');\n placeSubmit.setAttribute('name', 'place-submit');\n placeSubmit.setAttribute('type', 'button');\n placeSubmit.appendChild(document.createTextNode('Submit New Place'));\n form.appendChild(nameDiv);\n form.appendChild(descDiv);\n form.appendChild(latDiv);\n form.appendChild(lonDiv);\n form.appendChild(placeSubmit);\n //the event listener for the new place form\n placeSubmit.addEventListener('click', function () {\n //create the form data to send\n var formData = new FormData();\n formData.append('place-name', document.querySelector('#place-name').value);\n formData.append('place-description', document.querySelector('#place-description').value);\n formData.append('place-latitude', document.querySelector('#place-latitude').value);\n formData.append('place-longitude', document.querySelector('#place-longitude').value);\n //post the new place\n fetch('/places/new', {\n //send cookies with the request\n credentials: 'same-origin',\n method: 'post',\n body: formData\n })\n .then(function (response) {\n return response.json();\n })\n .then(function (placeJson) {\n if (placeJson.error == true) {\n throw new Error(placeJson.error_description);\n }\n //remove un-needed form elements\n //iterate through labels and remove parent div elements\n var labels = document.querySelectorAll('.place-label');\n for (var i = 0; i < labels.length; ++i) {\n form.removeChild(labels[i].parentNode);\n }\n form.removeChild(document.querySelector('#place-submit'));\n var newPlaceButton = document.querySelector('#create-new-place');\n //in order to remove a DOM Node, you need to run removeChild on the parent Node\n newPlaceButton.parentNode.removeChild(newPlaceButton);\n //add place marker\n var newOption = document.createElement('option');\n newOption.setAttribute('value', placeJson.uri);\n newOption.appendChild(document.createTextNode(placeJson.name));\n newOption.dataset.latitude = placeJson.latitude;\n newOption.dataset.longitude = placeJson.longitude;\n selectEl.appendChild(newOption);\n var newPlaceMarkerIcon = document.createElement('div');\n newPlaceMarkerIcon.classList.add('marker');\n var newPlaceMarker = new mapboxgl.Marker(newPlaceMarkerIcon, {offset: [-10, -20]}).setLngLat([placeJson.longitude, placeJson.latitude]).addTo(map);\n map.flyTo({center: [placeJson.longitude, placeJson.latitude]});\n\n newPlaceMarkerIcon.addEventListener('click', function () {\n map.flyTo({center: [placeJson.longitude, placeJson.latitude]});\n selectPlace(placeJson.uri);\n });\n //make selected\n selectPlace(placeJson.uri);\n }).catch(function (placeError) {\n alertify.reset();\n alertify.error(placeError);\n });\n });\n });\n containingDiv.appendChild(newLocButton);\n}\n\nfunction parseLocation(point) {\n var re = /\\((.*)\\)/;\n var resultArray = re.exec(point);\n var location = resultArray[1].split(' ');\n\n return [location[1], location[0]];\n}\n\nfunction selectPlace(uri) {\n document.querySelector('select [value=\"' + uri + '\"]').selected = true;\n}\n\nfunction getLatitudeFromMapbox(lnglat) {\n var resultArray = /\\((.*)\\)/.exec(lnglat);\n var location = resultArray[1].split(' ');\n\n return location[1];\n}\n\nfunction getLongitudeFromMapbox(lnglat) {\n var resultArray = /\\((.*)\\)/.exec(lnglat);\n var location = resultArray[1].split(' ');\n\n return location[0].replace(',', '');\n}\n"]} \ No newline at end of file diff --git a/public/assets/js/newnote.js b/public/assets/js/newnote.js index 086e2fb7..ebac396a 100644 --- a/public/assets/js/newnote.js +++ b/public/assets/js/newnote.js @@ -1,2 +1,2 @@ -function getLocation(){navigator.geolocation.getCurrentPosition(function(e){addPlacesMap(e.coords.latitude,e.coords.longitude,e.coords.accuracy)})}function addPlacesMap(e,t,a){fetch("/places/near/"+e+"/"+t+"?u="+a,{credentials:"same-origin",method:"get"}).then(function(e){return e.json()}).then(function(a){if(1==a.error&&(alertify.reset(),alertify.error(a.error_description)),a.places.length>0){var n,d=[];for(n=0;n0){var n,d=[];for(n=0;nAB#1pn(k*8h#om`W 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 diff --git a/public/assets/js/newnote.js.gz b/public/assets/js/newnote.js.gz index d44d7e6622e2019aad5b05c215b44e5c2ada35e2..a953aa664ad247310224af879476530526f3fd82 100644 GIT binary patch literal 1980 zcmV;t2SfNDiwFP!000021Fc!-lH)cK{_m%d=|tQ>oN!q(9XB}4taFrAR}k1EaR&sr z0I1pVl&bDE?)C0T+#p3s;6S2mufwj`=x%m@A3~#fT}f_pB?oh`mx?p@J0|y%E%Q0E zN+)wrVlBtt_Tx%xkoHSu@>;dEkAd8?Ec;S04(5uLF(h0motZ?St*tVkTZxkMj)-wy zX~yr!imWyv`TnS-jND&?<%>8vE$e|(2~3|xCvXzspY|krze=MMM(??X48zQsFr&z@ z0)|TG^IS%>0J~7xD8gK#6-n#@{3JBkO3MKx&y7RkfeOZuU&rTZ$`a68>9^mGnE-9` z>$^mQ0UHzA3L1@gt@)n}4A*(-+z?bsnj8`Va&8yzoss(`(*sGfbTS=Zqn%98#`4{c z-uUE1Hku+WnKrOttyP@JY0^?gs7`m~5}}~n6ID7NXGvL^MLf}zQ!zQ4;veVJDOn){ zE%q5%fiN)GiX1kaAsrrmTuGw@tW$?Bp*vJwAclHg6(DV!oC7nJl@MfHW07Wx*9yst z3iRDKAb?wR8zoX%7*=^iXtq^C)|rLJ0^Cy^W%)89m>U<&n9JPQ1Otepf|Y0{6IPZW zvyT_K$l{Dp6wlPlxo~q4jQLjGfJ~$ECV{)p&Od#wa#sAinn{uW^y6pM&p%$}mmhz& zaPprn#07t}c>dE5XMekT^x-Xk{@EFSdS3l37cY46uM2kf*}sz)A71~rp);W^19&UiwJ(%i;nCctQQDe<}ta*Tu zAu3dB`+To`F3ZZIR-PEJA6l#PS!Ds`Swy2X5XfzJ*xr?Z3YulP3JgnDxM8d2a{+*Cqmp$ybP2-{e5rW!b|&1WoY(IYtX#6>Sd-1GJ~2z(9po5j8%BO~K?V zd5O+Jjp~YsVnyWCGG-a7ZVIs!w!&>KmRgh^H!mF+Tn#afT;hm%2*{F9;|U6P;O5eR zwjTkm2#5{MP*w@?dYUqK?k6aI%sSPCgVpxKYQtCnRxu4VEZvt5V7Y@1yl5GrHUQh? zVoGfQIhg!)+5y0>3z(jhQ0_TL!%I{4EzLR*7v|0arSi!A@LJrV!F^joY<;Z=ZRTcO zjK?*oD}vG@2cC>(bik9k-l5uAc|bknkGd_ajo<_LJ72 z*R%K9-UG`953D+iVZ9BblkPliM%NywJuXw19wv$|M{PmDdJ78XN7uZ0p+p8Q%4bb{ zEPQ%+Ij|6IVGW;niwWQ;_zS!%U`;|<4;{Lf4t;=*og1X{b(j_Xdsun2^}Hd6_maa8 zlJm%mmLK9MJE)pxJ&Iw*{CY=s1-$RJ(J*#wtsQ2p-M^fp!*r?NL)Ycn?dXqI<{tiD zn4t>3U&}|nYWDYZ4z`W-iB`o`eW1mnZY0(Fb4&=${YthgsQL=;h9=WXlQ~3Fdw@7k zhj}u;izoE!6E*84YPO#!KhRl-seUz|s@V=zXw<`%e|0gQz$=9N4%y}Y*iAJna(ke{ z{iasfo|wL>kD2eV=VU*w01mvr+fIV6AnOY9uAuA+mM)&-s{mIpK2f@O#4H=PM^n6e zz|nopv^RE?$htD4z6*cj?eXO4h8+5vNuRe?G3?5p?Y+L7rtj=QNBK57rhi;2V#+&ZH`sqDaKiAhjwg!T_ zFHTTBaO>Orq&jr>+y3rc0rm0C&~Pg?bOq$SSHPWkHlceBo9+#1pUH|)e$@VRyhHCE z*)S9mhCeLyePsbO!+*O6^kV1xgZI5;+g>>RC61H7kYC6tWvNZzCGdI&PZ?fy6H|&D z*%}}t&6=J_6jOFR zm@)of%mbH-?-(h1MV`;5$VpkJ9#Q-^A}e?2-}!PF<#Mq3q}aTqIdu2$7PYC{BO1jA zGZ9-x>ya!sY$hCZ=QN<~P1~KXoP?}iJ3W14U{s|!AOdAB=ihyOnc|wOj{&Ky+r1Nf Oe(g6$rTyn89RL72N$9)) literal 1961 zcmV;a2UhqWiwFP!000021Fc!q>H)D>;~hy;PjJ-!ZwDY?;rQ zRXUl25^FjBwjWnogS1~Nlh>;4{20hR%d#&8<6y2>8AHOA(wRvF&b3trbSqJE-Vrg* zE6w;FS&`MoCEp&kl#%;uuzV3mr)52GDuL$5~QVW)V*`S0qfAAOXv=j7l@&rR|QDh2Is&`WhDd|*I1;P;C%|?k-7KT+G5t?n4kacF^u>kiJM_Im%2*$<*Gv+ckHbDpCs9+^dlL;$J zklDwJTx4-ZD2iw5gOM?^2?7u zTR8bo7vh3HT0H;hhqJ$3J^JvLKmY8EKRvI0mWvm>_}2xy`|RJziw`e;h3`KcA~;uz ze}DQ!XMg|vtJ`SY5GmnyuzA0O$iZk?E_2DmeH8z5sp$=tTRg*1^~w zFF{%tC`iz#Cvtuh(arKF_rh8F#_py~=rLNiam3H48rdJD&z-mB|t3}G}Go}ba-#o2U4Tu7I4e#vZH9~H!5 z{H==D$F4cN;c2mV+|&m&qE>`?Z`0EHWSH$Wq{_A0Y|jFbYPdBB)q0 zUmgu^P1(0KYe$@$I~$bBBhSNYafcJ`+lpXoYei_YHtX6tu0dT9lolb&3nu5_na1kZ z+kHrQk<<(|{6bnxilklspUMngP9LC8?H(}3R3j;$BdBAlVx zak>cY&c@gfX&cs+veP?mJAGU~51t|6HNfvjq@LSPT7zEC*=u_fmJKGXI*MU^45N|m zI&DVR7N|WgQWqWuiY7;GLBV$0~Clf8Whu1>dXXBVRS=dpZZ(diq4G z;;K$)v8ek(_4ynVLi27V>kF#B!n>i#^wMMw(bOgoXX!9c=6CUgc738|y+qCS6XiQP z3p3TH=2JD>p$aGUaOGcJj3?+TguNuY-0!=oW<_ofRJh;N3fqk7tNNJv275C5aRqST z{oU>mbOl*gkaq=TSFm*c9A5>vg7Jyc#Up0fxJ^y*Zi1uxdSh?wD3Nt#Mtu|B!P{fW z*9{r;4wGJMtzy`ex7zz{IZfZ#g9huey{%lO_7tb z4n3myZ$wt^&cE{^Fv{g%^M$Z^Nt1N@!~#=xjbb3g>jT+YAy`ZC2mSEm7~tUJ9Ee17dWS4!(W_8b5J%(l;7 diff --git a/resources/assets/js/maps.js b/resources/assets/js/maps.js index 36b81ce2..6d85beea 100644 --- a/resources/assets/js/maps.js +++ b/resources/assets/js/maps.js @@ -44,6 +44,7 @@ for (var i = 0; i < mapDivs.length; i++) { zoom: 15, scrollZoom: false }); + map.addControl(new mapboxgl.NavigationControl()); new mapboxgl.Marker(el, {offset: [-10, -20]}).setLngLat([longitude, latitude]).addTo(map); mapDiv.appendChild(mapMenu); } diff --git a/resources/assets/js/newnote.js b/resources/assets/js/newnote.js index 150e36ec..ca2bdf66 100644 --- a/resources/assets/js/newnote.js +++ b/resources/assets/js/newnote.js @@ -67,6 +67,7 @@ function addMap(latitude, longitude, places) { center: [longitude, latitude], zoom: 15 }); + map.addControl(new mapboxgl.NavigationControl()); //create the current location marker var el = document.createElement('div'); el.classList.add('marker');