diff --git a/Makefile b/Makefile index 55691c8..e9fac26 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,6 @@ JS_FILES = \ src/Compass.js \ src/Grid.js \ src/Attribution.js \ - src/Basemap.js \ src/Stylist.js \ src/end.js @@ -31,10 +30,7 @@ JS_COMPILER = \ java -jar lib/google-compiler/compiler-20150126.jar \ --charset UTF-8 -all: mapsense.min.js mapsense.js mapsense.css - -mapsense.css: - @npm run less +all: mapsense.min.js mapsense.js %.min.js: %.js $(JS_COMPILER) < $^ > $@ @@ -49,6 +45,4 @@ mapsense.js: $(JS_FILES) Makefile chmod a-w $@ clean: - rm -rf mapsense.js mapsense.min.js mapsense.css - -.PHONY: mapsense.css + rm -rf mapsense.js mapsense.min.js diff --git a/mapsense.css b/mapsense.css deleted file mode 100644 index f223c7d..0000000 --- a/mapsense.css +++ /dev/null @@ -1,1017 +0,0 @@ -.mapsense-attribution { - background-color: rgba(0, 0, 0, 0.5); - color: #ccc; - position: absolute; - bottom: 0; - right: 0; - padding: 10px; - font-size: 11px; - font-family: sans-serif; - line-height: 5px; - text-decoration: none; -} -.mapsense-attribution a { - color: #ccc; - text-decoration: none; -} -.compass .back { - fill: #eee; - fill-opacity: .8; -} -.compass .fore { - stroke: #999; - stroke-width: 1.5px; -} -.compass rect.back.fore { - fill: #999; - fill-opacity: .3; - stroke: #eee; - stroke-width: 1px; - shape-rendering: crispEdges; -} -.compass .direction { - fill: none; -} -.compass .chevron { - fill: none; - stroke: #999; - stroke-width: 5px; -} -.compass .zoom .chevron { - stroke-width: 4px; -} -.compass .active .chevron, -.compass .chevron.active { - stroke: #fff; -} -.compass.active .active .direction { - fill: #999; -} -path { - vector-effect: non-scaling-stroke; - stroke-linejoin: round; - stroke-linecap: round; -} -/* zoom-dependent styling for roads & admins */ -/* general rules */ -path._undefined.none { - fill: none; -} -path.landuse.other { - fill: none; - stroke: none; -} -.park { - opacity: .3; -} -.water_line { - opacity: .5; - fill: none; -} -.runway { - opacity: .7; -} -.rail_major, -.rail_minor { - stroke-dasharray: 4, 3; -} -.roads, -.admin { - fill: none; -} -.disputed_border, -.state_border { - stroke-dasharray: 8, 3; -} -/* admins */ -.country_border { - stroke-width: 2; -} -.admin._3, -.admin._2, -.admin._1 { - stroke-width: 1; -} -.admin._4 { - stroke-width: 1.5; -} -.state_border._2 { - stroke-width: .3; -} -.state_border._3, -.state_border._4 { - stroke-width: .5; -} -.state_border._8, -.state_border._9, -.state_border._10, -.state_border._11 { - stroke-width: 1.5; - opacity: .75; -} -.state_border._12, -.state_border._13, -.state_border._14, -.state_border._15, -.state_border._16, -.state_border._17 { - stroke-width: 2; - stroke-dasharray: 10, 4; - opacity: .75; -} -/* roads */ -.ne_10m_roads._3 { - stroke-width: 0.5; -} -.ne_10m_roads._4, -.ne_10m_roads._5 { - stroke-width: 0.75; -} -.ne_10m_roads._6 { - opacity: 0.75; -} -.motorway._6 { - stroke-width: .75; -} -.motorway._7, -.ne_10m_roads._7 { - stroke-width: 1; -} -.arterial_major._7 { - stroke-width: .5; -} -/* zoom 8 */ -.ne_10m_roads._8 { - stroke-width: 1.25; - opacity: 0.75; -} -.motorway._8 { - stroke-width: 1.25; - opacity: 0.75; -} -.arterial_major._8 { - stroke-width: .5; - opacity: .75; -} -.arterial_minor._8 { - stroke-width: 0.5; - opacity: .5; -} -/* zoom 9 */ -.motorway._9 { - stroke-width: 1.5; -} -.arterial_major._9 { - stroke-width: .75; -} -.arterial_minor._9 { - stroke-width: 0.5; - opacity: .5; -} -/* zoom 10 */ -.motorway._10 { - stroke-width: 1.75; -} -.arterial_major._10 { - stroke-width: 1.25; -} -.arterial_minor._10 { - stroke-width: 1; -} -.road_med._10 { - stroke-width: .75; -} -/* zoom 11 */ -.motorway._11 { - stroke-width: 3; -} -.arterial_major._11, -.runway._11 { - stroke-width: 1.75; -} -.arterial_minor._11 { - stroke-width: 1.25; -} -.road_med._11 { - stroke-width: 1; -} -.road_minor._11 { - stroke-width: .5; -} -/* zoom 12 */ -.motorway._12 { - stroke-width: 3.5; -} -.arterial_major._12, -.runway._12 { - stroke-width: 2; -} -.arterial_minor._12 { - stroke-width: 1.5; -} -.road_med._12 { - stroke-width: 1; -} -.road_minor._12 { - stroke-width: .75; -} -/* zoom 13 */ -.motorway._13 { - stroke-width: 5; -} -.arterial_major._13, -.runway._13 { - stroke-width: 3.5; -} -.arterial_minor._13 { - stroke-width: 2.5; -} -.road_med._13 { - stroke-width: 2; -} -.road_minor._13 { - stroke-width: 1.5; -} -.path._13, -.water_line._13 { - stroke-width: 0.3; -} -/* zoom 14 */ -.motorway._14 { - stroke-width: 6.5; -} -.arterial_major._14, -.runway._14 { - stroke-width: 4.75; -} -.arterial_minor._14 { - stroke-width: 4.25; -} -.road_med._14 { - stroke-width: 3.75; -} -.road_minor._14 { - stroke-width: 2.5; -} -.rail_minor._14 { - stroke-width: 1; -} -.rail_major._14 { - stroke-width: 1.5; -} -.path._14, -.water_line._14 { - stroke-width: 0.75; -} -/* zoom 15 */ -.motorway._15 { - stroke-width: 8.5; -} -.arterial_major._15, -.runway._15 { - stroke-width: 7; -} -.arterial_minor._15 { - stroke-width: 6; -} -.road_med._15 { - stroke-width: 5; -} -.road_minor._15 { - stroke-width: 4; -} -.rail_minor._15 { - stroke-width: 1.5; -} -.rail_major._15 { - stroke-width: 1.5; -} -.path._15, -.water_line._15 { - stroke-width: 1; -} -/* zoom 16 */ -.motorway._16 { - stroke-width: 12; -} -.arterial_major._16, -.runway._16 { - stroke-width: 9; -} -.arterial_minor._16 { - stroke-width: 8; -} -.road_med._16 { - stroke-width: 7; -} -.road_minor._16 { - stroke-width: 6; -} -.rail_minor._16 { - stroke-width: 1.5; -} -.rail_major._16 { - stroke-width: 2; -} -.path._16, -.water_line._16 { - stroke-width: 2; -} -/* zoom 17 */ -.motorway._17 { - stroke-width: 15; -} -.arterial_major._17, -.runway._17 { - stroke-width: 10; -} -.arterial_minor._17 { - stroke-width: 9; -} -.road_med._17 { - stroke-width: 8; -} -.road_minor._17 { - stroke-width: 8; -} -.rail_minor._17 { - stroke-width: 3; - stroke-dasharray: 7, 6; -} -.rail_major._17 { - stroke-width: 4; - stroke-dasharray: 7, 6; -} -.path._17, -.water_line._17 { - stroke-width: 5; -} -/* zoom 18 */ -.motorway._18 { - stroke-width: 16; -} -.arterial_major._18, -.runway._18 { - stroke-width: 10; -} -.arterial_minor._18 { - stroke-width: 10; -} -.road_med._18 { - stroke-width: 9; -} -.road_minor._18 { - stroke-width: 8; -} -.rail_minor._18 { - stroke-width: 3; - stroke-dasharray: 7, 6; -} -.rail_major._18 { - stroke-width: 4; - stroke-dasharray: 7, 6; -} -.path._18, -.water_line._18 { - stroke-width: 5; -} -.mapsense-blackprint.labels { - font-size: 18; - fill: #999; - font-weight: 200; - text-transform: uppercase; - stroke-width: .3; - /*stroke: grey;*/ - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; -} -.mapsense-blackprint.tile-background { - fill: #141414; -} -.mapsense-blackprint.land { - fill: #000000; - stroke: #bdbcbc; - stroke-width: 1; -} -.mapsense-blackprint.agriculture { - display: none; -} -.mapsense-blackprint.water_polygon { - fill: #141414; -} -.mapsense-blackprint.water_line { - stroke: #323232; - stroke-width: 1; - opacity: .3; - fill: none; -} -.mapsense-blackprint.park { - fill: rgba(15, 15, 15, 0.3); - stroke: none; -} -.mapsense-blackprint.building { - fill: none; - stroke: #505050; - stroke-width: .52; -} -.mapsense-blackprint.school { - fill: #0f0f0f; - stroke: none; -} -.mapsense-blackprint.other { - stroke: #323232; -} -.mapsense-blackprint.urban { - fill: none; - stroke: none; -} -.mapsense-blackprint.roads { - stroke: #222; -} -.mapsense-blackprint.motorway, -.mapsense-blackprint.ne_10m_roads { - stroke: #333; -} -.mapsense-blackprint.country_border, -.mapsense-blackprint.disputed_border { - stroke: grey; - stroke-dasharray: 3 3; - stroke-width: 1; - fill: none; -} -.mapsense-blackprint.state_border { - stroke: grey; - stroke-dasharray: 3 3; - fill: none; -} -.mapsense-dark.labels { - font-size: 14; - fill: #777; - font-weight: 600; - text-transform: uppercase; - stroke-width: .3; - /*stroke: grey;*/ - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; -} -.mapsense-dark.tile-background { - fill: #3a4250; -} -.mapsense-dark.land { - fill: #161619; -} -.mapsense-dark.agriculture { - display: none; -} -.mapsense-dark.country_border, -.mapsense-dark.disputed_border { - stroke: #777; -} -.mapsense-dark.state_border { - stroke: #777; -} -.mapsense-dark.water_polygon { - fill: #3a4250; - stroke: none; -} -.mapsense-dark.water_line { - stroke: #516283; - stroke-width: 1; - fill: none; -} -.mapsense-dark.park { - fill: #268061; -} -.mapsense-dark.building { - fill: #222; - stroke: black; -} -.mapsense-dark.school { - fill: #35161e; -} -.mapsense-dark.other { - fill: rgba(76, 69, 67, 0.15); - stroke: black; -} -.mapsense-dark.urban { - fill: #000000; - stroke: none; -} -.mapsense-dark.ne_10m_roads { - stroke: #7c5c2c; -} -.mapsense-dark.motorway { - stroke: #7c5c2c; -} -.mapsense-dark.arterial_major { - stroke: #4a472a; -} -.mapsense-dark.arterial_minor { - stroke: #3c3c3c; -} -.mapsense-dark.road_med { - stroke: #3c3c3c; -} -.mapsense-dark.road_minor { - stroke: #323232; -} -.mapsense-dark.rail_major { - stroke: #323228; - fill: none; -} -.mapsense-dark.rail_minor { - stroke: #323228; - fill: none; -} -.mapsense-dark.runway { - stroke: #333; -} -.mapsense-dark.path { - stroke: #323228; -} -.mapsense-grayscale.labels { - font-size: 14; - fill: #777; - font-weight: 600; - text-transform: uppercase; - stroke-width: .3; - /*stroke: grey;*/ - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; -} -.mapsense-grayscale.tile-background { - fill: #aaa9af; -} -.mapsense-grayscale.land { - fill: #e8e5e5; - stroke: none; -} -.mapsense-grayscale.water_polygon { - fill: #aaa9af; -} -.mapsense-grayscale.water_line { - stroke: gray; - stroke-width: 1; -} -.mapsense-grayscale.park { - fill: #cad4ca; -} -.mapsense-grayscale.building { - fill: #f0f0f0; -} -.mapsense-grayscale.school { - fill: #dcdcdc; - stroke: none; -} -.mapsense-grayscale.other { - fill: #cbcbcb; - stroke: none; -} -.mapsense-grayscale.urban { - fill: none; - stroke: none; -} -.mapsense-grayscale.ne_10m_roads { - stroke: #ccc; -} -.mapsense-grayscale.motorway { - stroke: #CCC; -} -.mapsense-grayscale.arterial_major { - stroke: #d2d2d2; -} -.mapsense-grayscale.arterial_minor { - stroke: #d7d7d7; -} -.mapsense-grayscale.road_med { - stroke: #DDD; -} -.mapsense-grayscale.road_minor { - stroke: #DDD; -} -.mapsense-grayscale.rail_major { - stroke: lightgray; -} -.mapsense-grayscale.rail_minor { - stroke: lightgray; -} -.mapsense-grayscale.runway { - stroke: #f2efef; -} -.mapsense-grayscale.path { - stroke: #DDD; -} -.mapsense-grayscale.country_border, -.mapsense-grayscale.disputed_border { - stroke: #BBB; -} -.mapsense-grayscale.state_border { - stroke: #bbb; -} -.mapsense-light.labels { - font-size: 14; - fill: #777; - font-weight: 600; - text-transform: uppercase; - stroke-width: .3; - /*stroke: grey;*/ - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; -} -.mapsense-light.tile-background { - fill: #ffffff; -} -.mapsense-light.land { - fill: #ddddda; - stroke: none; -} -.mapsense-light.water_polygon { - fill: #ffffff; - stroke: none; -} -.mapsense-light.country_border, -.mapsense-light.disputed_border { - stroke: #aaa; -} -.mapsense-light.state_border { - stroke: #aaa; -} -.mapsense-light.water_line { - stroke: #c8d0df; -} -.mapsense-light.park { - fill: #caceb9; - stroke: none; -} -.mapsense-light.building { - fill: #d7d6d1; -} -.mapsense-light.school { - fill: #eadddb; - stroke: none; -} -.mapsense-light.other { - fill: none; - stroke: none; -} -.mapsense-light.urban { - fill: rgba(177, 135, 74, 0.07); - stroke: none; -} -.mapsense-light.ne_10m_roads { - stroke: #ededed; -} -.mapsense-light.motorway { - stroke: #f6f4f3; -} -.mapsense-light.arterial_major { - stroke: #f4f4ef; -} -.mapsense-light.arterial_minor { - stroke: #f1eded; -} -.mapsense-light.road_med { - stroke: #f6f3f3; -} -.mapsense-light.road_minor { - stroke: #faf8f8; -} -.mapsense-light.rail_major { - stroke: #cccccc; -} -.mapsense-light.rail_minor { - stroke: #cccccc; -} -.mapsense-light.runway { - stroke: #ccc; -} -.mapsense-light.path { - stroke: #ccc; -} -.mapsense-parchment.labels { - font-size: 14; - fill: #777; - font-weight: 600; - text-transform: uppercase; - stroke-width: .3; - /*stroke: grey;*/ - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; -} -.mapsense-parchment.tile-background { - fill: #b8bdc1; -} -.mapsense-parchment.land { - fill: #e3d6c5; - stroke: #976f60; - stroke-width: 1; -} -.mapsense-parchment.water_polygon { - fill: #b8bdc1; - stroke: #976f60; - stroke-width: .5; -} -.mapsense-parchment.water_line { - stroke: #b8bdc1; -} -.mapsense-parchment.park { - fill: #cbbca6; -} -.mapsense-parchment.building { - fill: #d4c9ba; -} -.mapsense-parchment.school { - fill: rgba(90, 46, 5, 0.12); - stroke: none; -} -.mapsense-parchment.other { - fill: #e3d6c5; - stroke: none; -} -.mapsense-parchment.urban { - fill: rgba(255, 255, 255, 0.3); - stroke: none; -} -.mapsense-parchment.ne_10m_roads { - stroke: #aea295; -} -.mapsense-parchment.motorway { - stroke: #aea295; -} -.mapsense-parchment.arterial_major { - stroke: #d5c5b7; -} -.mapsense-parchment.arterial_minor { - stroke: #cab7aa; -} -.mapsense-parchment.road_med { - stroke: #d8c8bb; -} -.mapsense-parchment.road_minor { - stroke: #d8c8bb; -} -.mapsense-parchment.rail_major { - stroke: #bda897; -} -.mapsense-parchment.rail_minor { - stroke: #bda897; -} -.mapsense-parchment.runway { - stroke: #ede5d5; -} -.mapsense-parchment.path { - stroke: #ede5d5; -} -.mapsense-parchment.country_border, -.mapsense-parchment.disputed_border { - stroke: #976f60; -} -.mapsense-parchment.state_border { - stroke: #976f60; -} -.mapsense-sketch.labels { - font-size: 14; - fill: #777; - font-weight: 600; - text-transform: uppercase; - stroke-width: .3; - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; -} -.mapsense-sketch.tile-background { - fill: #f0f0f0; -} -.mapsense-sketch.land { - fill: #ffffff; - stroke: #bdbcbc; - stroke-width: 1; -} -.mapsense-sketch.water_polygon { - fill: #f0f0f0; - stroke: #bdbcbc; - stroke-width: .5; -} -.mapsense-sketch.water_line { - stroke: #cccaca; -} -.mapsense-sketch.park { - fill: none; - stroke-width: .55; - stroke: #dad8d8; -} -.mapsense-sketch.building { - fill: none; - stroke: #d4d4d4; - stroke-width: .52; -} -.mapsense-sketch.school { - fill: none; - stroke: #dadada; -} -.mapsense-sketch.urban { - fill: none; - stroke: none; -} -.mapsense-sketch.ne_10m_roads { - stroke: #eee; -} -.mapsense-sketch.motorway { - stroke: #ddd; -} -.mapsense-sketch.arterial_major { - stroke: #eee; -} -.mapsense-sketch.arterial_minor { - stroke: #eee; -} -.mapsense-sketch.road_med { - stroke: #eee; -} -.mapsense-sketch.road_minor { - stroke: #f5f5f5; -} -.mapsense-sketch.rail_major { - stroke: #ddd; -} -.mapsense-sketch.rail_minor { - stroke: #ddd; -} -.mapsense-sketch.runway { - stroke: #ddd; -} -.mapsense-sketch.path { - stroke: #f5f5f5; -} -.mapsense-sketch.country_border, -.mapsense-sketch.disputed_border { - stroke: #ccc; -} -.mapsense-sketch.state_border { - stroke: #ccc; -} -.mapsense-tron.labels { - font-size: 14; - fill: #888; - font-weight: 600; - text-transform: uppercase; - stroke-width: .3; - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; -} -.mapsense-tron.tile-background { - fill: #000000; -} -.mapsense-tron.land { - fill: #172c3a; - stroke: none; -} -.mapsense-tron.water_polygon { - stroke: none; - fill: black; -} -.mapsense-tron.country_border, -.mapsense-tron.disputed_border { - stroke: #666; -} -.mapsense-tron.state_border { - stroke: #666; -} -.mapsense-tron.water_line { - stroke: #111119; -} -.mapsense-tron.park { - fill: #060a10; -} -.mapsense-tron.building { - fill: #07212a; - stroke: none; -} -.mapsense-tron.school { - fill: #162532; - stroke: none; -} -.mapsense-tron.other { - fill: #11242d; - stroke: none; -} -.mapsense-tron.urban { - fill: none; - stroke: none; -} -.mapsense-tron.ne_10m_roads { - stroke: #36606f; -} -.mapsense-tron.motorway { - stroke: #36606f; -} -.mapsense-tron.arterial_major { - stroke: #295563; -} -.mapsense-tron.arterial_minor { - stroke: #295563; -} -.mapsense-tron.road_med { - stroke: #2b3e49; -} -.mapsense-tron.road_minor { - stroke: #1b333a; -} -.mapsense-tron.rail_major { - stroke: #1b333a; -} -.mapsense-tron.rail_minor { - stroke: #1b333a; -} -.mapsense-tron.runway { - stroke: #1e414c; -} -.mapsense-tron.path { - stroke: #1b333a; -} -.mapsense-vintage.labels { - font-size: 16; - fill: #4c83b2; - font-weight: 400; - text-transform: uppercase; - stroke-width: .3; - stroke: grey; - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; -} -.mapsense-vintage.tile-background { - fill: #87c8ca; -} -.mapsense-vintage.land { - fill: #fffaf2; -} -.mapsense-vintage.water_polygon { - fill: #87c8ca; -} -.mapsense-vintage.country_border, -.mapsense-vintage.disputed_border { - stroke: #aaa; -} -.mapsense-vintage.state_border { - stroke: #aaa; -} -.mapsense-vintage.water_line { - stroke: #b5e2e4; -} -.mapsense-vintage.park { - fill: #c6f3bd; - stroke: none; -} -.mapsense-vintage.building { - fill: #f9ece2; - stroke: none; -} -.mapsense-vintage.school { - fill: #f0eced; - stroke: none; -} -.mapsense-vintage.urban { - fill: rgba(243, 210, 191, 0.19); - stroke: none; -} -.mapsense-vintage.ne_10m_roads { - stroke: #ffb67e; -} -.mapsense-vintage.motorway { - stroke: #f6bd86; -} -.mapsense-vintage.arterial_major { - stroke: #c2d7df; -} -.mapsense-vintage.arterial_minor { - stroke: #cfdddb; -} -.mapsense-vintage.road_med { - stroke: #dae9ea; -} -.mapsense-vintage.road_minor { - stroke: #ededed; -} -.mapsense-vintage.rail_major { - stroke: #c7c4c4; -} -.mapsense-vintage.rail_minor { - stroke: #c7c4c4; -} -.mapsense-vintage.runway { - stroke: #e1dede; -} -.mapsense-vintage.path { - stroke: #e1dede; -} -svg.mapsense-map { - width: 100%; - height: 100%; -} diff --git a/mapsense.js b/mapsense.js index b9bba46..1f0ce26 100644 --- a/mapsense.js +++ b/mapsense.js @@ -2530,83 +2530,6 @@ ms.attribution = function(html) { return attribution.html(html); }; -ms.basemap = function() { - var basemap = ms.topoJson(); - var attribution = ms.attribution('©Mapsense ©OpenStreetMap'); - - var url = "https://{S}-api.mapsense.co/universes/mapsense.earth/{Z}/{X}/{Y}.topojson?s=10&ringSpan=8"; - var apiKey; - var style; - - function urlWithKey() { - return ms.url(url + "&api-key=" + apiKey) - .hosts(["a", "b", "c", "d"]); - } - - var __map__ = basemap.map; - basemap.map = function(x) { - var result = __map__.apply(basemap, arguments); - if (arguments.length) - attribution.map(x); - return result; - }; - - var __url__ = basemap.url; - basemap.url = function(x) { - if (!arguments.length) return url; - url = x; - __url__.call(basemap, urlWithKey()); - return basemap; - }; - - basemap.apiKey = function(x) { - if (!arguments.length) return apiKey; - apiKey = x; - __url__.call(basemap, urlWithKey()); - return basemap; - }; - - basemap.style = function(x) { - if (!arguments.length) return style; - - if (style) - attribution.container().classList.remove(style); - - style = x; - - basemap.selection(function(s) { - var styleClass = style ? "mapsense-" + style : ""; - var zoomClass = "_" + Math.floor(basemap.map().zoom()); - s.attr("class", function(feature) { - var classes = [ styleClass, zoomClass ]; - if (feature.properties) { - if (feature.properties.layer) - classes.push(feature.properties.layer); - if (feature.properties.sub_layer) - classes.push(feature.properties.sub_layer); - } - return classes.join(" "); - }); - }); - - if (style) - attribution.container().classList.add(style); - - return basemap; - }; - - basemap.on("load", function(e) { - var g = e.tile.element; - var tileBackground = g.querySelector(".tile-background"); - if (tileBackground && style) - tileBackground.classList.add("mapsense-" + style); - }); - - basemap.style("light"); - basemap.tileBackground(true); - basemap.clip(true); - return basemap; -}; ms.stylist = function() { var attrs = [], styles = [], diff --git a/mapsense.min.js b/mapsense.min.js new file mode 100644 index 0000000..243f9eb --- /dev/null +++ b/mapsense.min.js @@ -0,0 +1,68 @@ +(function(){function Y(c){var b=c.indexOf(":");return 0>b?c:{space:m.ns[c.substring(0,b)],local:c.substring(b+1)}}function E(c){for(c=0;cb.row){var e=c;c=b;b=e}return{x0:c.column,y0:c.row,x1:b.column,y1:b.row,dx:b.column-c.column,dy:b.row-c.row}}function W(c,b,e,a,d){var g=Math.max(e,Math.floor(b.y0)); +a=Math.min(a,Math.ceil(b.y1));if(c.x0==b.x0&&c.y0==b.y0?c.x0+b.dy/c.dy*c.dxb.dx;gb.dy&&(e=f,f=b,b=e);f.dy>c.dy&&(e=f,f=c,c=e);b.dy>c.dy&&(e=b,b=c,c=e);f.dy&&W(c,f,a,d,g);b.dy&&W(c,b,a,d,g)}var R={version:"1.0.0"},m=R,S= +{x:0,y:0};m.ns={svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink"};m.id=function(){var c=0;return function(){return++c}}();m.svg=function(c){return document.createElementNS(m.ns.svg,c)};m.transform=function(c,b,e,a,d,g){var f={},k,l,p;arguments.length||(c=1,b=d=e=0,a=1,g=0);f.zoomFraction=function(d){if(!arguments.length)return l;l=d;k=Math.floor(l+Math.log(Math.sqrt(c*c+b*b+e*e+a*a))/Math.LN2);p=Math.pow(2,-k);return f};f.apply=function(f){var n=Math.pow(2,-f.zoom),p=Math.pow(2, +f.zoom-k);return{column:(c*f.column*n+e*f.row*n+d)*p,row:(b*f.column*n+a*f.row*n+g)*p,zoom:f.zoom-k}};f.unapply=function(f){var n=Math.pow(2,-f.zoom),p=Math.pow(2,f.zoom+k);return{column:(f.column*n*a-f.row*n*e-d*a+g*e)/(c*a-b*e)*p,row:(f.column*n*b-f.row*n*c-d*b+g*c)/(e*b-a*c)*p,zoom:f.zoom+k}};f.toString=function(){return"matrix("+[c*p,b*p,e*p,a*p].join(" ")+" 0 0)"};return f.zoomFraction(0)};m.cache=function(c,b){function e(a){h--;b&&b(a);delete f[a.key];if(a.next)a.next.prev=a.prev;else if(l= +a.prev)l.next=null;if(a.prev)a.prev.next=a.next;else if(k=a.next)k.prev=null}function a(){for(var a=l;h>p&&a;a=a.prev)a.lock||e(a)}var d={},g={},f={},k=null,l=null,p=64,h=0;d.peek=function(a){return f[[a.zoom,a.column,a.row].join("/")]};d.load=function(a,d){var e=[a.zoom,a.column,a.row].join("/"),b=f[e];if(b)return b.prev&&((b.prev.next=b.next)?b.next.prev=b.prev:l=b.prev,b.prev=null,b.next=k,k=k.prev=b),b.lock=1,g[e]=b;b={key:e,column:a.column,row:a.row,zoom:a.zoom,next:k,prev:null,lock:1};c.call(null, +b,d);g[e]=f[e]=b;k?k.prev=b:l=b;k=b;h++;return b};d.unload=function(a){if(!(a in g))return!1;var f=g[a];f.lock=0;delete g[a];f.request&&f.request.abort(!1)&&e(f);return f};d.locks=function(){return g};d.size=function(f){if(!arguments.length)return p;p=f;a();return d};d.flush=function(){a();return d};d.clear=function(){for(var a in f){var c=f[a];c.request&&c.request.abort(!1);b&&b(f[a]);c.lock&&(c.lock=0,c.element.parentNode.removeChild(c.element))}g={};f={};k=l=null;h=0;return d};return d};m.url= +function(c){function b(d){var b=0>d.zoom?1:1<f&&(f+=b);else if(0>f||f>=b)return null;return("function"===typeof c?c(d):c).replace(/{(.)}/g,function(a,b){switch(b){case "S":return e[(Math.abs(d.zoom)+d.row+f)%e.length];case "Z":return d.zoom;case "X":return f;case "Y":return d.row;case "B":var c=m.map.coordinateLocation({row:d.row,column:f,zoom:d.zoom}),g=m.map.coordinateLocation({row:d.row+1,column:f+1,zoom:d.zoom}),n=Math.ceil(Math.log(d.zoom)/Math.LN2);return g.lat.toFixed(n)+ +","+c.lon.toFixed(n)+","+c.lat.toFixed(n)+","+g.lon.toFixed(n)}return b})}var e=[],a=!0;b.template=function(a){if(!arguments.length)return c;c=a;return b};b.hosts=function(a){if(!arguments.length)return e;e=a;return b};b.repeat=function(c){if(!arguments.length)return a;a=c;return b};return b};m.dispatch=function(c){var b={};c.on=function(e,a){for(var d=b[e]||(b[e]=[]),g=0;gh.status&&e(h),c())};h.send(null)}var h;d.push(p);c();return{abort:function(a){return b(p)?!0:a&&h?(h.abort(),!0):!1}}}var d=[],g=0;return{text:function(b,c,d){return a(b,function(a){a.responseText&&c(a.responseText)},{mimeType:d})},xml:function(b,c,d){return a(b,function(a){a.responseXML&&c(a.responseXML)}, +e({mimeType:"application/xml"},d))},json:function(b,c,d){return a(b,function(a){a.responseText&&c(JSON.parse(a.responseText))},e({mimeType:"application/json"},d))},octetStream:function(b,c,d){return a(b,function(a){a.response&&c(a.response)},e({mimeType:"application/octet-stream",responseType:"arraybuffer"},d))},image:function(a,e,l){function p(){h=document.createElement("img");h.onerror=function(){g--;c()};h.onload=function(){g--;l(h);c()};h.src=e;a.setAttributeNS(m.ns.xlink,"href",e)}var h;d.push(p); +c();return{abort:function(a){return b(p)?!0:a&&h?(h.src="about:",!0):!1}}}}}();m.map=function(c){function b(){t&&(ht[1]&&(h=t[1]));n=h-(h=Math.round(h));r=Math.pow(2,n)}function e(){if(G){var a=45/Math.pow(2,h+n-3),b=Math.max(Math.abs(w*k.x+u*k.y),Math.abs(H*k.x+A*k.y)),c=P(B-b*a/l.y),b=P(T+b*a/l.y);p.lat=Math.max(c,Math.min(b,p.lat));c=Math.max(Math.abs(w*k.y+u*k.x),Math.abs(H*k.y+A*k.x));p.lon=Math.max(G[0].lon-c*a/l.x,Math.min(G[1].lon+c*a/l.x,p.lon))}}var a={},d,g,f=S,k=S,l={x:512, +y:512},p={lat:37.76487,lon:-122.41948},h=12,n=0,r=1,t=[1,18],C=0,u=1,w=0,A=1,H=0,B=-180,T=180,G=[{lat:P(B),lon:-Infinity},{lat:P(T),lon:Infinity}],O=m.interact();d="string"===typeof c?document.querySelector(c):c;if(!d)throw Error("Invalid map container.");a.interact=function(b){if(!arguments.length)return O;O.map(b?a:null)};a.locationCoordinate=function(a){a=m.map.locationCoordinate(a);var b=Math.pow(2,h);a.column*=b;a.row*=b;a.zoom+=h;return a};a.coordinateLocation=m.map.coordinateLocation;a.coordinatePoint= +function(a,b){var c=Math.pow(2,h-b.zoom),d=Math.pow(2,h-a.zoom),f=(b.column*c-a.column*d)*l.x*r,c=(b.row*c-a.row*d)*l.y*r;return{x:k.x+u*f-w*c,y:k.y+w*f+u*c}};a.pointCoordinate=function(a,b){var c=Math.pow(2,h-a.zoom),d=(b.x-k.x)/r,f=(b.y-k.y)/r;return{column:a.column*c+(A*d-H*f)/l.x,row:a.row*c+(H*d+A*f)/l.y,zoom:h}};a.locationPoint=function(a){var b=Math.pow(2,h+n-3)/45,c=(a.lon-p.lon)*b*l.x;a=(Q(p.lat)-Q(a.lat))*b*l.y;return{x:k.x+u*c-w*a,y:k.y+w*c+u*a}};a.pointLocation=function(a){var b=45/Math.pow(2, +h+n-3),c=(a.x-k.x)*b;a=(a.y-k.y)*b;return{lon:p.lon+(A*c-H*a)/l.x,lat:P(Q(p.lat)-(H*c+A*a)/l.y)}};var x=m.svg("rect");x.setAttribute("visibility","hidden");x.setAttribute("pointer-events","all");var I=m.svg("svg");I.setAttribute("class","mapsense-map");I.appendChild(x);var F=document.createElement("div");F.style.setProperty("position","relative");F.style.setProperty("width","100%");F.style.setProperty("height","100%");F.appendChild(I);d.appendChild(F);a.container=function(){return d};a.relativeContainer= +function(){return F};a.svgContainer=function(){return I};a.focusableParent=function(){for(var a=d;a;a=a.parentNode)if(0<=a.tabIndex)return a;return window};a.mouse=function(a){var b=(I.ownerSVGElement||I).createSVGPoint();if(0>V&&(window.scrollX||window.scrollY)){var c=document.body.appendChild(m.svg("svg"));c.style.position="absolute";c.style.top=c.style.left="0px";var d=c.getScreenCTM();V=!(d.f||d.e);document.body.removeChild(c)}V?(b.x=a.pageX,b.y=a.pageY):(b.x=a.clientX,b.y=a.clientY);return b.matrixTransform(I.getScreenCTM().inverse())}; +a.size=function(b){if(!arguments.length)return f;g=b;return a.resize()};a.resize=function(){if(g)f=g,E.remove(a);else{x.setAttribute("width","100%");x.setAttribute("height","100%");var b=x.getBBox();f={x:b.width,y:b.height};E.add(a)}x.setAttribute("width",f.x);x.setAttribute("height",f.y);k={x:f.x/2,y:f.y/2};e();a.dispatch({type:"resize"});return a};a.tileSize=function(b){if(!arguments.length)return l;l=b;a.dispatch({type:"move"});return a};a.center=function(b){if(!arguments.length)return p;p=b;e(); +a.dispatch({type:"move"});return a};a.panBy=function(b){var c=45/Math.pow(2,h+n-3),d=b.x*c;b=b.y*c;return a.center({lon:p.lon+(H*b-A*d)/l.x,lat:P(Q(p.lat)+(H*d+A*b)/l.y)})};a.centerRange=function(b){if(!arguments.length)return G;(G=b)?(B=-90G[0].lat?Q(G[1].lat):Infinity):(B=-Infinity,T=Infinity);e();a.dispatch({type:"move"});return a};a.zoom=function(c){if(!arguments.length)return h+n;h=c;b();return a.center(p)};a.zoomBy=function(c,d,f){if(2>arguments.length)return a.zoom(h+ +n+c);3>arguments.length&&(f=a.pointLocation(d));h=h+n+c;b();var e=a.locationPoint(f);return a.panBy({x:d.x-e.x,y:d.y-e.y})};a.zoomRange=function(b){if(!arguments.length)return t;t=b;return a.zoom(h+n)};a.extent=function(c){if(!arguments.length)return[a.pointLocation({x:0,y:f.y}),a.pointLocation({x:f.x,y:0})];var d=a.locationPoint(c[0]),e=a.locationPoint(c[1]),g=Math.max((e.x-d.x)/f.x,(d.y-e.y)/f.y),d=a.pointLocation({x:(d.x+e.x)/2,y:(d.y+e.y)/2});h=h+n-Math.log(g)/Math.LN2;b();return a.center(d)}; +a.angle=function(b){if(!arguments.length)return C;C=b;u=Math.cos(C);w=Math.sin(C);A=Math.cos(-C);H=Math.sin(-C);e();a.dispatch({type:"move"});return a};a.add=function(b){b.map(a);return a};a.remove=function(b){b.map(null);return a};a.dispatch=m.dispatch(a);a.interact(!0);return a.resize()};E.maps=[];E.add=function(c){for(var b=0;bd;)u[d]=u[++d];u[d]=c}}function a(a){for(var b=u[0].nextSibling;C>a;C--){r.insertBefore(u[-1],b);r.insertBefore(u[2],u[-4]);for(var c=u[2],d=2;-4c?1:1<f&&(f+=d);return{locationPoint:function(a){a=m.map.locationCoordinate(a);var b=Math.pow(2,c-a.zoom);return{x:F.x*(b*a.column-f),y:F.y*(b*a.row-e)}}}}function c(a,d,e){for(var g=v.zoom,h=2-M,k=4+M;a>m,row:e>>m,zoom:g-m}))&&l.ready){K[l.key]=f.load(q);l.proxyCount++;n.proxyRefs[l.key]=l;break}}K[n.key]=n}}function d(a){return Math.round(256*a)/256}var h=g.map(),n=h.zoom(),t=n-(n=Math.round(n)),x=h.size(), +w=h.angle(),F=h.tileSize(),D=h.locationCoordinate(h.center());if(C!=n){Cn?a(n):C=n;for(var q=-4;2>=q;q++){var J=u[q];J.setAttribute("class","zoom"+(0>q?"":"+")+q+" zoom"+(n+q));J.setAttribute("transform","scale("+Math.pow(2,-q)+")")}}var v=h.pointCoordinate(D,S),q=h.pointCoordinate(D,{x:x.x,y:0}),n=h.pointCoordinate(D,x),h=h.pointCoordinate(D,{x:0,y:x.y}),J=D.column,L=D.row;D.column=Math.round((Math.round(F.x*D.column)+(x.x&1)/2)/F.x);D.row=Math.round((Math.round(F.y*D.row)+(x.y&1)/2)/F.y); +var J=J-D.column,L=L-D.row,z=d(Math.pow(2,t));r.setAttribute("transform","translate("+Math.round(x.x/2-J*F.x*z)+","+Math.round(x.y/2-L*F.y*z)+")"+(w?"rotate("+w/Math.PI*180+")":"")+(t?"scale("+z+")":"")+(y?y.zoomFraction(t):""));y&&(v=y.unapply(v),q=y.unapply(q),n=y.unapply(n),h=y.unapply(h),D=y.unapply(D));var M=p?p(v.zoom)-v.zoom:0;M&&(y=Math.pow(2,M),v.column*=y,v.row*=y,q.column*=y,q.row*=y,n.column*=y,n.row*=y,h.column*=y,h.row*=y,v.zoom=q.zoom=n.zoom=h.zoom+=M);var t=f.locks(),K={},N;for(N in t)t[N].proxyCount= +0;l&&-5M&&(x=0>v.zoom?1:1<>q<>q<=w;w++)u[w]=r.appendChild(m.svg("g"));for(w=2;1<=w;w--)u[w]=r.appendChild(m.svg("g"));u[0]=r.appendChild(m.svg("g"));g.map=function(a){if(!arguments.length)return n; +if(n){if(n==a)return r.parentNode.appendChild(r),g;n.off("move",d).off("resize",d);r.parentNode.removeChild(r)}if(n=a)n.svgContainer().appendChild(r),g.init&&g.init(r),n.on("move",d).on("resize",d),d();return g};g.container=function(){return r};g.levels=function(){return u};g.id=function(a){if(!arguments.length)return h;h=a;r.setAttribute("id",a);return g};g.visible=function(a){if(!arguments.length)return l;(l=a)?r.removeAttribute("visibility"):r.setAttribute("visibility","hidden");n&&d();return g}; +g.transform=function(a){if(!arguments.length)return t;t=a;n&&d();return g};g.zoom=function(a){if(!arguments.length)return p;p="function"==typeof a||null==a?a:function(){return a};n&&d();return g};g.tile=function(a){if(!arguments.length)return k;k=a;n&&d();return g};g.reload=function(){f.clear();n&&d();return g};g.dispatch=m.dispatch(g);g.on("load",function(a){if(a.tile.proxyRefs){for(var b in a.tile.proxyRefs){var c=a.tile.proxyRefs[b];0>=--c.proxyCount&&f.unload(b)&&c.element.parentNode.removeChild(c.element)}delete a.tile.proxyRefs}}); +return g};m.image=function(){var c=m.layer(function(e){var a=e.element=m.svg("image"),d=c.map().tileSize();a.setAttribute("preserveAspectRatio","none");a.setAttribute("width",d.x);a.setAttribute("height",d.y);"function"==typeof b?(a.setAttribute("opacity",0),d=b(e),null!=d?e.request=m.queue.image(a,d,function(b){delete e.request;e.ready=!0;e.img=b;a.removeAttribute("opacity");c.dispatch({type:"load",tile:e})}):(e.ready=!0,c.dispatch({type:"load",tile:e}))):(e.ready=!0,null!=b&&a.setAttributeNS(m.ns.xlink, +"href",b),c.dispatch({type:"load",tile:e}))},function(b){b.request&&b.request.abort(!0)}),b;c.url=function(e){if(!arguments.length)return b;b="string"==typeof e&&/{.}/.test(e)?m.url(e):e;return c.reload()};return c};m.geoJson=function(c){function b(a){var b={lat:0,lon:0};return function(c,d){b.lat=c[1];b.lon=c[0];var f=a(b);d.x=f.x;d.y=f.y;return f}}function e(a){return d3.geo.path().projection({stream:function(b){return{point:function(c,d){d=Math.min(89.999999,d);d=Math.max(-89.999999,d);var f=a.locationPoint({lon:c, +lat:d});b.point(Math.round(2*f.x)/2,Math.round(2*f.y)/2)},sphere:function(){b.sphere()},lineStart:function(){b.lineStart()},lineEnd:function(){b.lineEnd()},polygonStart:function(){b.polygonStart()},polygonEnd:function(){b.polygonEnd()}}}})}function a(a,b){b(a.geometry.coordinates,a);return a}function d(a,b){for(var c=a.geometry.coordinates.length,d=[],f=0;fc.length||c.some(isNaN))return!0;var d=a.size();a.zoomBy(c[0]-a.zoom(),{x:d.x/2,y:d.y/2},{lat:Math.min(89.99999999,Math.max(-89.99999999,c[1])),lon:c[2]})},f=function(a){var b=a.center();a=a.zoom();var c=Math.max(0,Math.ceil(Math.log(a)/Math.LN2));return"#"+a.toFixed(2)+"/"+b.lat.toFixed(c)+"/"+b.lon.toFixed(c)};e.map=function(a){if(!arguments.length)return d; +d&&(d.off("move",c),window.removeEventListener("hashchange",b,!1));if(d=a)d.on("move",c),window.addEventListener("hashchange",b,!1),location.hash?b():c();return e};e.parser=function(a){if(!arguments.length)return g;g=a;return e};e.formatter=function(a){if(!arguments.length)return f;f=a;return e};return e};m.touch=function(){function c(a){var b=-1,c=a.touches.length,d=Date.now();if(1==c&&300>d-g){var m=e.zoom();e.zoomBy(1-m+Math.floor(m),e.mouse(a.touches[0]));a.preventDefault()}g=d;f=e.zoom();for(k= +e.angle();++bG+250&&z.panBy(q)}function e(a){if(a.shiftKey)return v={x0:z.mouse(a)},z.focusableParent().focus(),h(a)}function a(a){v&&(v.x1=z.mouse(a),L.setAttribute("x",Math.min(v.x0.x,v.x1.x)),L.setAttribute("y",Math.min(v.x0.y,v.x1.y)),L.setAttribute("width",Math.abs(v.x0.x-v.x1.x)),L.setAttribute("height", +Math.abs(v.x0.y-v.x1.y)),L.removeAttribute("display"))}function d(a){A.setAttribute("class","compass");v&&(v.x1&&(z.extent([z.pointLocation({x:Math.min(v.x0.x,v.x1.x),y:Math.max(v.x0.y,v.x1.y)}),z.pointLocation({x:Math.max(v.x0.x,v.x1.x),y:Math.min(v.x0.y,v.x1.y)})]),L.setAttribute("display","none")),v=null);D&&(clearInterval(D),D=0)}function g(a){return function(){a?this.setAttribute("class","active"):this.removeAttribute("class");q=a}}function f(a){return function(b){A.setAttribute("class","compass active"); +var c=z.zoom();z.zoom(0>a?Math.ceil(c)-1:Math.floor(c)+1);return h(b)}}function k(a){return function(b){z.zoom(a);return h(b)}}function l(){this.setAttribute("class","active")}function p(){this.removeAttribute("class")}function h(a){a.stopPropagation();a.preventDefault();return!1}function n(a){var b=Math.SQRT1_2*B,d=.7*B,e=.2*B,f=m.svg("g"),k=f.appendChild(m.svg("path")),l=f.appendChild(m.svg("path"));k.setAttribute("class","direction");k.setAttribute("pointer-events","all");k.setAttribute("d","M0,0L"+ +b+","+b+"A"+B+","+B+" 0 0,1 "+-b+","+b+"Z");l.setAttribute("class","chevron");l.setAttribute("d","M"+e+","+(d-e)+"L0,"+d+" "+-e+","+(d-e));l.setAttribute("pointer-events","none");f.addEventListener("mousedown",c,!1);f.addEventListener("mouseover",g(a),!1);f.addEventListener("mouseout",g(null),!1);f.addEventListener("dblclick",h,!1);return f}function r(a){var b=.4*B,c=b/2,d=m.svg("g"),e=d.appendChild(m.svg("path")),g=d.appendChild(m.svg("path")),k=d.appendChild(m.svg("path")),n=d.appendChild(m.svg("path")); +e.setAttribute("class","back");e.setAttribute("d","M"+-b+",0V"+-b+"A"+b+","+b+" 0 1,1 "+b+","+-b+"V0Z");g.setAttribute("class","direction");g.setAttribute("d",e.getAttribute("d"));k.setAttribute("class","chevron");k.setAttribute("d","M"+-c+","+-b+"H"+c+(0arguments.length?null:f});return c};c.title=function(b){a=b;return c};return c};"function"===typeof define&&define.amd?define(R):"object"===typeof module&&module.exports&&(module.exports=R);this.mapsense=R})(); diff --git a/package.json b/package.json index f366c64..5b5dcbe 100644 --- a/package.json +++ b/package.json @@ -12,11 +12,5 @@ "url": "https://github.com/mapsense/mapsense.js/blob/master/LICENSE" } ], - "main": "mapsense.js", - "devDependencies": { - "less": "^2.5.0" - }, - "scripts": { - "less": "lessc styles/mapsense.less mapsense.css" - } + "main": "mapsense.js" } diff --git a/src/Basemap.js b/src/Basemap.js deleted file mode 100644 index 7f0f3ea..0000000 --- a/src/Basemap.js +++ /dev/null @@ -1,77 +0,0 @@ -ms.basemap = function() { - var basemap = ms.topoJson(); - var attribution = ms.attribution('©Mapsense ©OpenStreetMap'); - - var url = "https://{S}-api.mapsense.co/universes/mapsense.earth/{Z}/{X}/{Y}.topojson?s=10&ringSpan=8"; - var apiKey; - var style; - - function urlWithKey() { - return ms.url(url + "&api-key=" + apiKey) - .hosts(["a", "b", "c", "d"]); - } - - var __map__ = basemap.map; - basemap.map = function(x) { - var result = __map__.apply(basemap, arguments); - if (arguments.length) - attribution.map(x); - return result; - }; - - var __url__ = basemap.url; - basemap.url = function(x) { - if (!arguments.length) return url; - url = x; - __url__.call(basemap, urlWithKey()); - return basemap; - }; - - basemap.apiKey = function(x) { - if (!arguments.length) return apiKey; - apiKey = x; - __url__.call(basemap, urlWithKey()); - return basemap; - }; - - basemap.style = function(x) { - if (!arguments.length) return style; - - if (style) - attribution.container().classList.remove(style); - - style = x; - - basemap.selection(function(s) { - var styleClass = style ? "mapsense-" + style : ""; - var zoomClass = "_" + Math.floor(basemap.map().zoom()); - s.attr("class", function(feature) { - var classes = [ styleClass, zoomClass ]; - if (feature.properties) { - if (feature.properties.layer) - classes.push(feature.properties.layer); - if (feature.properties.sub_layer) - classes.push(feature.properties.sub_layer); - } - return classes.join(" "); - }); - }); - - if (style) - attribution.container().classList.add(style); - - return basemap; - }; - - basemap.on("load", function(e) { - var g = e.tile.element; - var tileBackground = g.querySelector(".tile-background"); - if (tileBackground && style) - tileBackground.classList.add("mapsense-" + style); - }); - - basemap.style("light"); - basemap.tileBackground(true); - basemap.clip(true); - return basemap; -}; diff --git a/styles/attribution.less b/styles/attribution.less deleted file mode 100644 index 76472c1..0000000 --- a/styles/attribution.less +++ /dev/null @@ -1,20 +0,0 @@ -.mapsense-attribution { - background-color: rgba(0, 0, 0, 0.5); - color: #ccc; - - position: absolute; - bottom: 0; - right: 0; - padding: 10px; - - font-size: 11px; - font-family: sans-serif; - line-height: 5px; - - text-decoration: none; - - a { - color: #ccc; - text-decoration: none; - } -} diff --git a/styles/blackprint.less b/styles/blackprint.less deleted file mode 100644 index 2f3c229..0000000 --- a/styles/blackprint.less +++ /dev/null @@ -1,73 +0,0 @@ -.mapsense-blackprint { - &.labels { - font-size: 18; - fill: #999; - font-weight: 200; - text-transform: uppercase; - stroke-width: .3; - /*stroke: grey;*/ - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; - } - - &.tile-background { - fill: rgb(20,20,20); - } - &.land { - fill: rgb(0,0,0); - stroke: rgb(189, 188, 188); - stroke-width: 1; - } - &.agriculture { - display: none; - } - - &.water_polygon { - fill:rgb(20,20,20); - } - &.water_line { - stroke: rgb(50, 50, 50); - stroke-width: 1; - opacity: .3; - fill: none; - } - &.park { - fill: rgba(15, 15, 15, .3); - stroke: none; - } - &.building { - fill: none; - stroke: rgb(80, 80, 80); - stroke-width: .52; - } - &.school { - fill: rgb(15, 15, 15); - stroke: none; - } - &.other { - stroke: rgb(50, 50, 50); - } - &.urban { - fill: none; - stroke: none; - } - - &.roads { - stroke: #222; - } - &.motorway, &.ne_10m_roads { - stroke: #333; - } - &.country_border, &.disputed_border { - stroke: grey; - stroke-dasharray: 3 3; - stroke-width: 1; - fill: none; - } - &.state_border { - stroke: grey; - stroke-dasharray: 3 3; - fill: none; - } -} diff --git a/styles/compass.less b/styles/compass.less deleted file mode 100644 index 1814ee9..0000000 --- a/styles/compass.less +++ /dev/null @@ -1,41 +0,0 @@ -.compass { - .back { - fill: #eee; - fill-opacity: .8; - } - - .fore { - stroke: #999; - stroke-width: 1.5px; - } - - rect.back.fore { - fill: #999; - fill-opacity: .3; - stroke: #eee; - stroke-width: 1px; - shape-rendering: crispEdges; - } - - .direction { - fill: none; - } - - .chevron { - fill: none; - stroke: #999; - stroke-width: 5px; - } - - .zoom .chevron { - stroke-width: 4px; - } - - .active .chevron, .chevron.active { - stroke: #fff; - } - - &.active .active .direction { - fill: #999; - } -} diff --git a/styles/dark.less b/styles/dark.less deleted file mode 100644 index 24e988c..0000000 --- a/styles/dark.less +++ /dev/null @@ -1,88 +0,0 @@ -.mapsense-dark { - &.labels { - font-size: 14; - fill: #777; - font-weight: 600; - text-transform: uppercase; - stroke-width: .3; - /*stroke: grey;*/ - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; - } - - &.tile-background { - fill: rgb(58, 66, 80); - } - &.land { - fill: rgb(22,22,25); - } - &.agriculture { - display: none; - } - &.country_border, &.disputed_border { - stroke: #777; - } - &.state_border { - stroke: #777; - } - &.water_polygon { - fill: rgb(58, 66, 80); - stroke: none; - } - &.water_line { - stroke: rgb(81, 98, 131); - stroke-width: 1; - fill: none; - } - &.park { - fill: rgb(38, 128, 97); - } - &.building { - fill: #222; - stroke: black; - } - &.school { - fill: rgb(53, 22, 30); - } - &.other { - fill: rgba(76, 69, 67, 0.15); - stroke: black; - } - &.urban { - fill: rgb(0,0,0); - stroke: none; - } - &.ne_10m_roads { - stroke: rgb(124, 92, 44); - } - &.motorway { - stroke: rgb(124, 92, 44); - } - &.arterial_major { - stroke: rgb(74, 71, 42); - } - &.arterial_minor { - stroke: rgb(60,60,60); - } - &.road_med { - stroke: rgb(60,60,60); - } - &.road_minor { - stroke: rgb(50,50,50); - } - &.rail_major { - stroke: rgb(50,50,40); - fill: none; - } - &.rail_minor { - stroke: rgb(50,50,40); - fill: none; - } - &.runway { - stroke: #333; - } - &.path { - stroke: rgb(50,50,40); - } -} diff --git a/styles/grayscale.less b/styles/grayscale.less deleted file mode 100644 index 6f769bb..0000000 --- a/styles/grayscale.less +++ /dev/null @@ -1,87 +0,0 @@ -.mapsense-grayscale { - &.labels { - font-size: 14; - fill: #777; - font-weight: 600; - text-transform: uppercase; - stroke-width: .3; - /*stroke: grey;*/ - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; - } - - &.tile-background { - fill: rgb(170, 169, 175); - } - - &.land { - fill: rgb(232, 229, 229); - stroke:none; - } - &.water_polygon { - fill: rgb(170, 169, 175); - } - - &.water_line { - stroke: gray; - stroke-width: 1; - } - - &.park { - fill: rgb(202, 212, 202); - } - &.building { - fill: rgb(240, 240, 240); - } - &.school { - fill: rgb(220,220,220); - stroke: none; - } - &.other { - fill: rgb(203, 203, 203); - stroke: none; - } - &.urban { - fill: none; - stroke: none; - } - &.ne_10m_roads { - stroke: #ccc; - } - &.motorway { - stroke: #CCC; - } - &.arterial_major { - stroke: rgb(210, 210, 210); - } - &.arterial_minor { - stroke: rgb(215, 215, 215); - } - &.road_med { - stroke: #DDD; - } - &.road_minor { - stroke: #DDD; - } - &.rail_major { - stroke: lightgray; - } - &.rail_minor { - stroke: lightgray; - } - &.runway { - stroke: rgb(242, 239, 239); - } - &.path { - stroke: #DDD; - } - - &.country_border, &.disputed_border { - stroke: #BBB; - } - - &.state_border { - stroke: #bbb; - } -} diff --git a/styles/light.less b/styles/light.less deleted file mode 100644 index 22ef438..0000000 --- a/styles/light.less +++ /dev/null @@ -1,88 +0,0 @@ -.mapsense-light { - &.labels { - font-size: 14; - fill: #777; - font-weight: 600; - text-transform: uppercase; - stroke-width: .3; - /*stroke: grey;*/ - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; - } - - &.tile-background { - fill: rgb(255, 255, 255); - } - &.land { - fill: rgb(221, 221, 218); - stroke: none; - } - - &.water_polygon { - fill: rgb(255, 255, 255); - stroke: none; - } - - &.country_border, &.disputed_border { - stroke: #aaa; - } - &.state_border { - stroke: #aaa; - } - &.water_line { - stroke: rgb(200, 208, 223); - } - &.park { - fill: rgb(202, 206, 185); - stroke: none; - } - &.building { - fill: rgb(215, 214, 209); - } - &.school { - fill: rgba(234, 221, 219, 1); - stroke: none; - } - &.other { - fill: none; - stroke: none; - } - &.urban { - fill: rgba(177, 135, 74, 0.07); - stroke: none; - } - - &.ne_10m_roads { - stroke: rgb(237, 237, 237); - } - &.motorway { - stroke: rgb(246, 244, 243); - - } - &.arterial_major { - stroke: rgb(244, 244, 239); - } - &.arterial_minor { - stroke: rgb(241, 237, 237); - } - &.road_med { - stroke: rgb(246, 243, 243); - } - &.road_minor { - stroke: rgb(250, 248, 248); - } - - &.rail_major { - stroke: #ccc - } - &.rail_minor { - stroke: #ccc - } - &.runway { - stroke: #ccc; - } - &.path { - stroke: #ccc; - } -} diff --git a/styles/mapsense.less b/styles/mapsense.less deleted file mode 100644 index f132184..0000000 --- a/styles/mapsense.less +++ /dev/null @@ -1,16 +0,0 @@ -@import "attribution"; -@import "compass"; -@import "zoom-dependent-styles"; -@import "blackprint"; -@import "dark"; -@import "grayscale"; -@import "light"; -@import "parchment"; -@import "sketch"; -@import "tron"; -@import "vintage"; - -svg.mapsense-map { - width: 100%; - height: 100%; -} diff --git a/styles/parchment.less b/styles/parchment.less deleted file mode 100644 index 83b097f..0000000 --- a/styles/parchment.less +++ /dev/null @@ -1,86 +0,0 @@ -.mapsense-parchment { - &.labels { - font-size: 14; - fill: #777; - font-weight: 600; - text-transform: uppercase; - stroke-width: .3; - /*stroke: grey;*/ - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; - } - - &.tile-background { - fill: rgb(184, 189, 193); - } - - &.land { - fill: rgb(227, 214, 197); - stroke: rgb(151, 111, 96); - stroke-width: 1; - } - &.water_polygon { - fill: rgb(184, 189, 193); - stroke: rgb(151, 111, 96); - stroke-width: .5; - } - &.water_line { - stroke: rgb(184, 189, 193); - } - &.park { - fill: rgb(203, 188, 166); - } - &.building { - fill: rgb(212, 201, 186); - } - &.school { - fill: rgba(90, 46, 5, 0.12); - stroke: none; - } - &.other { - fill: rgb(227, 214, 197); - stroke: none; - } - &.urban { - fill: rgba(255, 255, 255, 0.3); - stroke: none; - } - &.ne_10m_roads { - stroke: rgb(174, 162, 149); - } - &.motorway { - stroke: rgb(174, 162, 149); - } - &.arterial_major { - stroke: rgb(213, 197, 183); - } - &.arterial_minor { - stroke: rgb(202, 183, 170); - } - &.road_med { - stroke: rgb(216, 200, 187); - } - &.road_minor { - stroke: rgb(216, 200, 187); - } - &.rail_major { - stroke: rgb(189, 168, 151); - } - &.rail_minor { - stroke: rgb(189, 168, 151); - } - &.runway { - stroke: rgb(237, 229, 213); - } - &.path { - stroke: rgb(237, 229, 213); - } - - &.country_border, &.disputed_border { - stroke: rgb(151, 111, 96); - } - &.state_border { - stroke: rgb(151, 111, 96); - } -} diff --git a/styles/sketch.less b/styles/sketch.less deleted file mode 100644 index c606cd7..0000000 --- a/styles/sketch.less +++ /dev/null @@ -1,84 +0,0 @@ -.mapsense-sketch { - &.labels { - font-size: 14; - fill: #777; - font-weight: 600; - text-transform: uppercase; - stroke-width: .3; - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; - } - - &.tile-background { - fill: rgb(240, 240, 240); - } - &.land { - fill: rgb(255, 255, 255); - stroke: rgb(189, 188, 188); - stroke-width: 1; - } - &.water_polygon { - fill: rgb(240, 240, 240); - stroke: rgb(189, 188, 188); - stroke-width: .5; - } - &.water_line { - stroke: rgb(204, 202, 202); - } - &.park { - fill: none; - stroke-width: .55; - stroke: rgb(218, 216, 216); - } - &.building { - fill: none; - stroke: rgb(212, 212, 212); - stroke-width: .52; - } - &.school { - fill: none; - stroke: rgb(218, 218, 218); - } - &.urban { - fill: none; - stroke: none; - } - - &.ne_10m_roads { - stroke: #eee; - } - &.motorway { - stroke: #ddd; - } - &.arterial_major { - stroke: #eee; - } - &.arterial_minor { - stroke: #eee; - } - &.road_med { - stroke: #eee; - } - &.road_minor { - stroke: rgb(245, 245, 245); - } - &.rail_major { - stroke: #ddd; - } - &.rail_minor { - stroke: #ddd; - } - &.runway { - stroke: #ddd; - } - &.path { - stroke: rgb(245, 245, 245); - } - &.country_border, &.disputed_border { - stroke: #ccc; - } - &.state_border { - stroke: #ccc; - } -} diff --git a/styles/tron.less b/styles/tron.less deleted file mode 100644 index 05cc5f7..0000000 --- a/styles/tron.less +++ /dev/null @@ -1,83 +0,0 @@ -.mapsense-tron { - &.labels { - font-size: 14; - fill: #888; - font-weight: 600; - text-transform: uppercase; - stroke-width: .3; - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; - } - - &.tile-background { - fill: rgb(0, 0, 0); - } - &.land { - fill: rgb(23, 44, 58); - stroke: none; - } - - &.water_polygon { - stroke: none; - fill: black; - } - &.country_border, &.disputed_border { - stroke: #666; - } - &.state_border { - stroke: #666; - } - &.water_line { - stroke: rgb(17, 17, 25); - } - &.park { - fill: rgb(6, 10, 16); - } - &.building { - fill: rgb(7, 33, 42); - stroke: none; - } - &.school { - fill: rgb(22, 37, 50); - stroke: none; - } - &.other { - fill: rgb(17, 36, 45); - stroke: none; - } - &.urban { - fill: none; - stroke: none; - } - &.ne_10m_roads { - stroke: rgb(54, 96, 111); - } - &.motorway { - stroke: rgb(54, 96, 111); - } - &.arterial_major { - stroke: rgb(41, 85, 99); - } - &.arterial_minor { - stroke: rgb(41, 85, 99); - } - &.road_med { - stroke: rgb(43, 62, 73); - } - &.road_minor { - stroke: rgb(27, 51, 58); - } - &.rail_major { - stroke: rgb(27, 51, 58); - } - &.rail_minor { - stroke: rgb(27, 51, 58); - } - &.runway { - stroke: rgb(30, 65, 76); - } - &.path { - stroke: rgb(27, 51, 58); - } -} diff --git a/styles/vintage.less b/styles/vintage.less deleted file mode 100644 index 1a17e87..0000000 --- a/styles/vintage.less +++ /dev/null @@ -1,80 +0,0 @@ -.mapsense-vintage { - &.labels { - font-size: 16; - fill: #4c83b2; - font-weight: 400; - text-transform: uppercase; - stroke-width: .3; - stroke: grey; - font-stretch: expanded; - letter-spacing: 1.5; - font-family: "Josefin Sans"; - } - - &.tile-background { - fill: rgb(135, 200, 202); - } - &.land { - fill: rgb(255, 250, 242); - } - - &.water_polygon { - fill: rgb(135, 200, 202); - } - - &.country_border, &.disputed_border { - stroke: #aaa; - } - &.state_border { - stroke: #aaa; - } - &.water_line { - stroke: rgb(181, 226, 228); - } - &.park { - fill: rgb(198, 243, 189); - stroke: none; - } - &.building { - fill: rgb(249, 236, 226); - stroke: none; - } - &.school { - fill: rgb(240, 236, 237); - stroke: none; - } - &.urban { - fill: rgba(243, 210, 191, 0.19); - stroke: none; - } - &.ne_10m_roads { - stroke: rgb(255, 182, 126); - } - &.motorway { - stroke: rgb(246, 189, 134); - } - &.arterial_major { - stroke: rgb(194, 215, 223); - } - &.arterial_minor { - stroke: rgb(207, 221, 219); - } - &.road_med { - stroke: rgb(218, 233, 234); - } - &.road_minor { - stroke: rgb(237, 237, 237); - } - &.rail_major { - stroke: rgb(199, 196, 196); - } - &.rail_minor { - stroke: rgb(199, 196, 196); - } - &.runway { - stroke: rgb(225, 222, 222); - } - &.path { - stroke: rgb(225, 222, 222); - } -} diff --git a/styles/zoom-dependent-styles.less b/styles/zoom-dependent-styles.less deleted file mode 100644 index d8bda83..0000000 --- a/styles/zoom-dependent-styles.less +++ /dev/null @@ -1,322 +0,0 @@ -path { - vector-effect: non-scaling-stroke; - stroke-linejoin: round; - stroke-linecap: round; -} - -/* zoom-dependent styling for roads & admins */ -/* general rules */ -path._undefined.none { - fill: none; -} - -path.landuse.other { fill: none; stroke: none; } - -.park { - opacity: .3; -} - -.water_line { - opacity: .5; - fill: none; -} - -.runway { - opacity: .7; -} - -.rail_major, .rail_minor { - stroke-dasharray: 4, 3; -} - -.roads, .admin { - fill:none; -} - -.disputed_border, .state_border { - stroke-dasharray: 8, 3; -} - -/* admins */ -.country_border { - stroke-width: 2; -} - -.admin._3, .admin._2, .admin._1 { - stroke-width: 1; -} - -.admin._4 { - stroke-width: 1.5; -} - -.state_border._2 { - stroke-width: .3; -} - -.state_border._3, .state_border._4 { - stroke-width: .5; -} - -.state_border._8, .state_border._9, .state_border._10, .state_border._11 { - stroke-width: 1.5; - opacity: .75; -} - -.state_border._12, .state_border._13, .state_border._14, .state_border._15, .state_border._16, .state_border._17 { - stroke-width: 2; - stroke-dasharray: 10, 4; - opacity: .75; -} - -/* roads */ -.ne_10m_roads._3 { - stroke-width: 0.5; -} -.ne_10m_roads._4, .ne_10m_roads._5 { - stroke-width: 0.75; -} -.ne_10m_roads._6 { - opacity: 0.75; -} -.motorway._6 { - stroke-width: .75; -} -.motorway._7, .ne_10m_roads._7 { - stroke-width: 1; -} -.arterial_major._7 { - stroke-width: .5; -} - -/* zoom 8 */ -.ne_10m_roads._8 { - stroke-width: 1.25; - opacity: .75 -} -.motorway._8 { - stroke-width: 1.25; - opacity: .75 -} -.arterial_major._8 { - stroke-width: .5; - opacity: .75; -} -.arterial_minor._8 { - stroke-width: 0.5; - opacity: .5; -} - -/* zoom 9 */ -.motorway._9 { - stroke-width: 1.5; -} -.arterial_major._9 { - stroke-width: .75; -} -.arterial_minor._9 { - stroke-width: 0.5; - opacity: .5; -} - -/* zoom 10 */ -.motorway._10 { - stroke-width: 1.75; -} -.arterial_major._10 { - stroke-width: 1.25; -} -.arterial_minor._10 { - stroke-width: 1; -} -.road_med._10 { - stroke-width: .75; -} - -/* zoom 11 */ -.motorway._11 { - stroke-width: 3; -} -.arterial_major._11, .runway._11 { - stroke-width: 1.75; -} -.arterial_minor._11 { - stroke-width: 1.25; -} -.road_med._11 { - stroke-width: 1; -} -.road_minor._11 { - stroke-width: .5; -} - -/* zoom 12 */ -.motorway._12 { - stroke-width: 3.5; -} -.arterial_major._12, .runway._12 { - stroke-width: 2; -} -.arterial_minor._12 { - stroke-width: 1.5; -} -.road_med._12 { - stroke-width: 1; -} -.road_minor._12 { - stroke-width: .75; -} - -/* zoom 13 */ -.motorway._13 { - stroke-width: 5; -} -.arterial_major._13, .runway._13 { - stroke-width: 3.5; -} -.arterial_minor._13 { - stroke-width: 2.5; -} -.road_med._13 { - stroke-width: 2; -} -.road_minor._13 { - stroke-width: 1.5; -} -.path._13, .water_line._13 { - stroke-width: 0.3; -} - -/* zoom 14 */ -.motorway._14 { - stroke-width: 6.5; -} -.arterial_major._14, .runway._14 { - stroke-width: 4.75; -} -.arterial_minor._14 { - stroke-width: 4.25; -} -.road_med._14 { - stroke-width: 3.75; -} -.road_minor._14 { - stroke-width: 2.5; -} -.rail_minor._14 { - stroke-width: 1; -} -.rail_major._14 { - stroke-width: 1.5; -} -.path._14, .water_line._14 { - stroke-width: 0.75; -} - -/* zoom 15 */ -.motorway._15 { - stroke-width: 8.5; -} -.arterial_major._15, .runway._15 { - stroke-width: 7; -} -.arterial_minor._15 { - stroke-width: 6; -} -.road_med._15 { - stroke-width: 5; -} -.road_minor._15 { - stroke-width: 4; -} -.rail_minor._15 { - stroke-width: 1.5; -} -.rail_major._15 { - stroke-width: 1.5; -} -.path._15, .water_line._15 { - stroke-width: 1; -} - -/* zoom 16 */ -.motorway._16 { - stroke-width: 12; -} -.arterial_major._16, .runway._16 { - stroke-width: 9; -} -.arterial_minor._16 { - stroke-width: 8; -} -.road_med._16 { - stroke-width: 7; -} -.road_minor._16 { - stroke-width: 6; -} -.rail_minor._16 { - stroke-width: 1.5; -} -.rail_major._16 { - stroke-width: 2; -} -.path._16, .water_line._16 { - stroke-width: 2; -} - -/* zoom 17 */ -.motorway._17 { - stroke-width: 15; -} -.arterial_major._17, .runway._17 { - stroke-width: 10; -} -.arterial_minor._17 { - stroke-width: 9; -} -.road_med._17 { - stroke-width: 8; -} -.road_minor._17 { - stroke-width: 8; -} -.rail_minor._17 { - stroke-width: 3; - stroke-dasharray: 7, 6; -} -.rail_major._17 { - stroke-width: 4; - stroke-dasharray: 7, 6; -} -.path._17, .water_line._17 { - stroke-width: 5; -} - -/* zoom 18 */ -.motorway._18 { - stroke-width: 16; -} -.arterial_major._18, .runway._18 { - stroke-width: 10; -} -.arterial_minor._18 { - stroke-width: 10; -} -.road_med._18 { - stroke-width: 9; -} -.road_minor._18 { - stroke-width: 8; -} -.rail_minor._18 { - stroke-width: 3; - stroke-dasharray: 7, 6; -} -.rail_major._18 { - stroke-width: 4; - stroke-dasharray: 7, 6; -} -.path._18, .water_line._18 { - stroke-width: 5; -}