diff --git a/js/map/base.js b/js/map/base.js index 75b406f..8240bff 100644 --- a/js/map/base.js +++ b/js/map/base.js @@ -107,6 +107,7 @@ let base = { return { center: base.map.getCenter(), zoom: base.map.getZoom(), + //ht: url.getHT(), layers: base.getVisibleLayers(), tweet: tweets.activeTweet, } diff --git a/js/map/tweets.js b/js/map/tweets.js index 7db3f9a..bb0c993 100644 --- a/js/map/tweets.js +++ b/js/map/tweets.js @@ -156,7 +156,7 @@ let manager = { manager.data.tweets = data; // manager.data.tweets = {...manager.data.tweets, ...data.tweets}; // manager.data.date = data.date; - // console.log(manager.data.tweets) + //console.log(manager.data.tweets) let tweetOpacity = 0.3 Object.keys(manager.data.tweets).forEach((id) => { @@ -179,23 +179,48 @@ let manager = { if (tweetInfo.hashtags.includes('private') || tweetInfo.hashtags.includes('hide')) return; - if (tweetInfo.state.zoom >= 6){ - let marker = L.marker(tweetInfo.state.center, {icon: icons['climateaction'], opacity: tweetOpacity}) - - if(tweetOpacity < 1) - tweetOpacity = tweetOpacity + 0.006 - //marker.addTo(manager.clusters) - marker.addTo(base.layerSets.tweets.layers.tweets) - marker.on('click', function () { - manager.show(id) - }) - manager.data.tweetIdToMarker[id] = marker - } - else { - return; + //console.log(tweetInfo.state); + + //Check URL For hashtag filter + let state = url.getState(); + + console.log(state.hashtag) + if(state.hashtag){ + if (tweetInfo.hashtags.includes(state.hashtag)){ + let marker = L.marker(tweetInfo.state.center, {icon: icons['climateaction'], opacity: tweetOpacity}) + + if(tweetOpacity < 1) + tweetOpacity = tweetOpacity + 0.006 + //marker.addTo(manager.clusters) + marker.addTo(base.layerSets.tweets.layers.tweets) + marker.on('click', function () { + manager.show(id) + }) + manager.data.tweetIdToMarker[id] = marker + } + else { + return; + } + } else { + if (tweetInfo.state.zoom >= 5){ + let marker = L.marker(tweetInfo.state.center, {icon: icons['climateaction'], opacity: tweetOpacity}) + + if(tweetOpacity < 1) + tweetOpacity = tweetOpacity + 0.006 + //marker.addTo(manager.clusters) + marker.addTo(base.layerSets.tweets.layers.tweets) + marker.on('click', function () { + manager.show(id) + }) + manager.data.tweetIdToMarker[id] = marker + } + else { + return; + } } + }); $(manager).trigger('loaded'); }) diff --git a/js/map/url.js b/js/map/url.js index 42bc800..05ec1aa 100644 --- a/js/map/url.js +++ b/js/map/url.js @@ -6,7 +6,7 @@ let url = { prefix: '/', //prefix: '', keyValueDivider: '=', - specialKeys: ['@'], + specialKeys: ['@', '$'], listDivider: ',', divider: '/', geoHash: true, @@ -18,9 +18,11 @@ let url = { let vars = { z: s.zoom, + ht: s.hashtag, ls: layers.join(url.listDivider) } + if (s.tweet) { vars = {...{ 't': s.tweet, @@ -77,6 +79,13 @@ let url = { if (rs.z) s.zoom = parseInt(rs.z); + if (rs['$']) { + s.hashtag = rs['$']; + } + + if (rs.ht) + s.hashtag = rs.ht; + if (rs.ls) s.layers = rs.ls.split(url.listDivider); @@ -103,9 +112,15 @@ let url = { return url._urlToState(url.getPath()); }, + getHT: function() { + var state = url.getState(); + //console.log(state.hashtag) + return state.hashtag; + }, + getPath: function() { return window.location.pathname; - }, + } } export default url;