From c267510382f8783ebd048777f7ae0d5d5be6492a Mon Sep 17 00:00:00 2001 From: Peter Rushforth Date: Thu, 15 Apr 2021 22:14:26 -0400 Subject: [PATCH 1/9] Update links demo to include change of projection work --- demo/arctic-sdi.mapml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demo/arctic-sdi.mapml b/demo/arctic-sdi.mapml index 83906efd7..11c3e3fa4 100644 --- a/demo/arctic-sdi.mapml +++ b/demo/arctic-sdi.mapml @@ -4,7 +4,7 @@ Arctic SDI for Canada > - + - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/debug/vector-tile-test.mapml b/debug/vector-tile-test.mapml deleted file mode 100644 index 148e1db44..000000000 --- a/debug/vector-tile-test.mapml +++ /dev/null @@ -1,20 +0,0 @@ - - - World Countries - WGS84 - - - - - - - - - - - - - - - - - diff --git a/demo/canada.mapml b/demo/ahmad-20210421/canada.mapml similarity index 99% rename from demo/canada.mapml rename to demo/ahmad-20210421/canada.mapml index 0788defc9..8046ef797 100644 --- a/demo/canada.mapml +++ b/demo/ahmad-20210421/canada.mapml @@ -4,9 +4,8 @@ - - + + + + + + + + + + + + + diff --git a/demo/ahmad-20210421/lhin.mapml b/demo/ahmad-20210421/lhin.mapml new file mode 100644 index 000000000..d636313ab --- /dev/null +++ b/demo/ahmad-20210421/lhin.mapml @@ -0,0 +1,201 @@ + + + + LHIN + + + + + + + + + + + + + + + + + + + + Champlain + + + + + 1559332.94849 -226542.49462 1559226.82136 -226710.73601 1558953.94261 -226939.42183 1559486.16899 -226099.84425 1559332.94849 -226542.49462 + + + 1559473.00365 -224373.64419 1559456.42093 -224391.86857 1559484.2878 -224296.10591 1559490.53965 -224318.70547 1559473.00365 -224373.64419 + + + 1560332.40149 -223651.85906 1560430.84164 -224629.73512 1560056.16638 -225092.74354 1560129.11383 -223923.32716 1560332.40149 -223651.85906 + + + 1567697.18409 -215196.74583 1567616.55447 -215090.1497 1567690.88328 -214936.47749 1567788.14058 -215058.02155 1567697.18409 -215196.74583 + + + 1569679.84057 -212649.59246 1569605.404 -212532.43285 1569600.06507 -212351.09005 1569783.17878 -212489.70997 1569679.84057 -212649.59246 + + + 1570561.1463 -210058.4494 1570613.7272 -210253.3481 1570477.47387 -210631.61058 1570369.08409 -210284.60978 1570561.1463 -210058.4494 + + + 1578828.00433 -201073.14481 1578879.94716 -202243.40671 1578347.781 -202769.72131 1578070.39329 -202403.89081 1578828.00433 -201073.14481 + + + 1580425.81082 -199104.06905 1580254.50994 -198932.86792 1580284.33962 -198636.29643 1580488.51526 -198846.03694 1580425.81082 -199104.06905 + + + 1583018.23051 -196916.09142 1583242.78817 -197204.80408 1583321.72073 -197467.06118 1583004.20788 -197303.86089 1583018.23051 -196916.09142 + + + 1582749.03097 -196930.91378 1582835.78367 -197631.63484 1580679.72842 -198844.84271 1581468.40257 -197317.68312 1582749.03097 -196930.91378 + + + 1584288.50004 -196671.75638 1584389.78823 -197051.97288 1584136.06279 -197199.86327 1584040.7432 -196476.23627 1584288.50004 -196671.75638 + + + 1584599.02679 -196639.17746 1584349.92329 -196679.59273 1584342.06904 -196241.13331 1584557.91188 -196443.8279 1584599.02679 -196639.17746 + + + 1583685.15444 -196281.56414 1583829.9739 -197377.63694 1583636.94641 -197544.29838 1583263.43155 -196699.27431 1583685.15444 -196281.56414 + + + 1584964.73457 -196036.28664 1585208.96439 -196276.83504 1585178.7753 -196542.50102 1584717.81094 -196362.87315 1584964.73457 -196036.28664 + + + 1585672.49705 -195905.40796 1585650.93635 -196227.13993 1585441.56222 -196386.29434 1585305.7058 -196021.61602 1585672.49705 -195905.40796 + + + 1583912.84863 -195396.09225 1584098.09203 -195646.20255 1584099.21351 -195761.43855 1583899.39648 -195706.5999 1583912.84863 -195396.09225 + + + 1586437.24956 -194891.03123 1586586.88794 -195034.98028 1585793.43046 -195918.48316 1585978.98326 -194926.79465 1586437.24956 -194891.03123 + + + 1585166.8801 -194424.82066 1585384.83817 -194877.27121 1585160.15179 -194972.90256 1584930.96702 -194515.54459 1585166.8801 -194424.82066 + + + 1585737.25458 -193122.72066 1586107.66204 -193684.98329 1585605.85548 -194753.92692 1585307.53968 -194054.69965 1585737.25458 -193122.72066 + + + 1587266.04817 -192745.78319 1586812.05344 -193846.28219 1586471.40651 -194003.2466 1586363.88347 -193495.57964 1587266.04817 -192745.78319 + + + 1589271.34621 -192530.33781 1589453.75043 -192827.35911 1588834.31774 -193515.13816 1588702.29247 -192958.71 1589271.34621 -192530.33781 + + + 1597844.11594 -190659.41726 1593821.75449 -192050.36345 1593501.17081 -192423.7035 1593526.76271 -191588.79795 1594678.22594 -191709.03538 1597844.11594 -190659.41726 + + + 1603186.79265 -188229.61358 1602224.81739 -190238.49115 1596448.51872 -192397.17817 1596974.97128 -191076.74156 1603186.79265 -188229.61358 + + + 1602725.08872 -186749.83348 1603083.47579 -187135.99439 1602368.33701 -187450.83088 1602176.28969 -187177.36728 1602725.08872 -186749.83348 + + + 1603955.35001 -187081.49868 1603811.85018 -187074.82531 1603786.63975 -186673.01928 1604017.1288 -186873.97056 1603955.35001 -187081.49868 + + + 1604222.9088 -186274.68778 1604368.53931 -186458.37954 1604061.67023 -186853.0004 1603970.15416 -186451.4368 1604222.9088 -186274.68778 + + + 1610197.76079 -182116.14337 1610182.76313 -182260.22524 1610109.24991 -182339.92469 1610069.5471 -182139.85415 1610197.76079 -182116.14337 + + + 1609455.80543 -182152.03911 1609302.76049 -182404.3957 1609074.30602 -182455.51002 1609108.38568 -182186.36538 1609455.80543 -182152.03911 + + + 1610596.55122 -181603.58738 1610307.86305 -181997.72096 1610211.84639 -181962.72938 1610227.41168 -181610.77597 1610596.55122 -181603.58738 + + + 1609382.67115 -181341.98339 1609388.93795 -181370.97855 1609372.3115 -181352.86386 1609382.67115 -181341.98339 + + + 1609455.957 -181300.89913 1609509.50351 -181333.71365 1609504.55455 -181354.59982 1609425.65356 -181365.40099 1609455.957 -181300.89913 + + + 1609766.37636 -181153.40323 1609751.79171 -181171.01705 1609742.23363 -181154.87098 1609756.10739 -181148.194 1609766.37636 -181153.40323 + + + 1609760.48216 -181115.71919 1609743.40522 -181119.1614 1609733.19521 -181104.29755 1609741.25095 -181102.73613 1609760.48216 -181115.71919 + + + 1611203.78991 -181044.28751 1611256.27973 -181093.49966 1611084.11754 -181428.13744 1611026.73564 -181056.13459 1611203.78991 -181044.28751 + + + 1609967.87189 -181032.94086 1609937.73701 -181068.48501 1609899.03115 -181084.34733 1609934.09348 -181031.13625 1609967.87189 -181032.94086 + + + 1610697.93157 -180266.51038 1610826.13772 -180298.46465 1610272.64495 -181081.05172 1610220.29079 -180842.30295 1610697.93157 -180266.51038 + + + 1610914.27607 -179019.28995 1611604.68731 -179372.69602 1610660.69699 -180195.18306 1610590.91111 -179464.35858 1610914.27607 -179019.28995 + + + 1612624.59753 -178428.9835 1612587.75007 -178401.4245 1612681.89147 -178368.49746 1612648.77471 -178421.07768 1612624.59753 -178428.9835 + + + 1613833.91075 -178349.26975 1613788.51524 -178354.48285 1613785.02615 -178288.17994 1613836.18915 -178287.50263 1613833.91075 -178349.26975 + + + 1611928.52288 -178447.86508 1611680.415 -178903.66952 1611475.73278 -178798.24908 1611653.45704 -178441.4677 1611928.52288 -178447.86508 + + + 1613235.14008 -178400.5907 1613453.08666 -178893.48231 1612546.46441 -179437.28264 1612947.04099 -178308.54549 1613235.14008 -178400.5907 + + + 1614014.56471 -177922.98551 1613970.05318 -177885.0885 1614028.13091 -177856.45678 1614044.05774 -177885.5049 1614014.56471 -177922.98551 + + + 1614159.1192 -177851.07733 1614205.19488 -177897.02709 1614087.83559 -177881.88768 1614136.07061 -177829.71208 1614159.1192 -177851.07733 + + + 1612985.40353 -176246.03729 1612879.04268 -176336.48724 1612783.93497 -176314.07187 1612908.12845 -176199.5918 1612985.40353 -176246.03729 + + + 1611803.59307 -176091.99319 1611807.19223 -176194.6462 1611693.48287 -176105.52303 1611759.29427 -176074.36743 1611803.59307 -176091.99319 + + + 1612179.31354 -175931.65476 1612018.82034 -176036.59071 1611985.22666 -176117.15407 1612124.0805 -175743.13153 1612179.31354 -175931.65476 + + + 1611819.91741 -175880.06941 1611810.46405 -176014.81837 1611772.70612 -175752.07604 1611819.91741 -175880.06941 + + + 1613901.71021 -175843.54865 1613771.20354 -175765.28005 1613819.01065 -175443.4956 1614034.73146 -175644.81739 1613901.71021 -175843.54865 + + + 1614465.93731 -176033.62723 1614313.5548 -175953.95127 1614847.77177 -175293.19259 1614752.58979 -175689.35723 1614465.93731 -176033.62723 + + + 1612356.27424 -173821.88729 1612309.54611 -173836.10264 1612274.77685 -173726.52752 1612363.45929 -173745.68676 1612356.27424 -173821.88729 + + + 1612652.75439 -172411.6488 1612594.00399 -172447.98871 1612582.14227 -172441.16738 1612648.24704 -172355.32814 1612652.75439 -172411.6488 + + + 1616314.69962 -166213.28677 1616177.46056 -166196.1467 1616352.16806 -166004.11659 1616314.69962 -166213.28677 + + + 1304843.52048 -132871.22105 1310404.21005 -131426.58576 1321867.34144 -132888.58528 1335115.08782 -132300.08296 1336297.4632 -130121.10904 1345746.69495 -132092.21375 1371772.22758 -141519.05421 1373890.11314 -148714.12027 1383185.5982 -156009.29434 1392294.64036 -156696.58741 1400934.19485 -159931.24328 1404817.27172 -158511.78109 1406019.64545 -156449.66133 1403588.43363 -152090.16952 1405259.59219 -150759.29312 1402147.80878 -147184.78884 1404432.45876 -145825.74329 1413904.35708 -146070.29738 1415749.31941 -148037.88398 1416583.20107 -155508.54788 1419258.4239 -160806.86596 1425708.52795 -161758.14098 1426882.02135 -164727.89894 1425662.48967 -166906.23886 1430057.20613 -170404.60857 1432960.22907 -177074.95668 1437837.9959 -179015.55622 1446373.8189 -177973.39749 1458628.96982 -181501.51172 1467462.28789 -177557.38921 1467056.89953 -173056.09349 1469158.33196 -171113.89672 1477752.67715 -169081.86116 1486675.88484 -170377.22552 1496255.51366 -176631.21628 1503099.88012 -177926.47735 1506433.82659 -172194.89273 1509940.52841 -169647.95896 1510775.76865 -165107.39654 1518028.67644 -161174.38082 1525304.1624 -153670.9077 1533528.31286 -148900.30467 1539817.83885 -140977.71047 1548349.30414 -139430.09315 1554717.74034 -135345.95545 1560356.84327 -127441.17929 1576935.78108 -124009.93533 1583186.97276 -120696.35426 1592309.37835 -122858.15802 1596541.36288 -121420.68179 1600528.00634 -122727.33259 1604468.46417 -121999.79282 1607508.83124 -152532.21645 1620716.62332 -159692.73597 1618067.23076 -163293.79059 1618578.14641 -164837.58222 1615884.28749 -165692.84959 1614302.09967 -167319.35212 1611402.65754 -172647.15695 1610718.18601 -176861.16771 1611838.15237 -176577.36023 1608778.69651 -181996.5009 1606148.5413 -184762.53793 1603105.80415 -186646.9445 1602433.17673 -185711.43943 1597997.5911 -190466.96357 1594531.883 -191644.34592 1593028.75066 -190146.53409 1589348.59821 -190678.03534 1585559.09081 -192361.94225 1583169.51746 -195371.53096 1582287.13837 -193762.14548 1578934.98277 -196334.11953 1581619.549 -195131.03352 1582680.7685 -196346.22298 1581493.94581 -196537.63906 1577059.60351 -201089.42339 1578649.01825 -200545.82438 1577748.71585 -202543.81188 1578115.22644 -203134.37502 1575762.65914 -203372.51946 1577105.589 -203789.13974 1576614.33001 -205080.37937 1575447.47793 -205818.26927 1575264.0883 -204130.81547 1574467.77743 -207089.42474 1571134.51194 -208451.64963 1566849.38104 -215820.89299 1560900.97096 -220827.12083 1559780.55241 -225266.64616 1557486.31628 -228519.27472 1559477.22346 -225632.63511 1559710.28481 -223737.80876 1557405.32375 -228444.6608 1542530.31288 -214837.09438 1530169.56825 -231875.22872 1516653.65541 -221557.59144 1502824.02146 -213523.8443 1494914.80646 -226526.20823 1481369.44714 -217518.39561 1459510.20556 -252010.71314 1432002.55705 -217280.96223 1426758.35982 -222165.02246 1422455.7382 -221904.28258 1419549.57917 -225273.63378 1422457.82128 -229029.22614 1411090.09751 -237744.00263 1400769.51118 -224515.90892 1378439.25313 -241841.03734 1358183.89427 -212977.88337 1347476.71005 -220928.81008 1339099.56818 -209175.74175 1348346.59919 -202236.87158 1339639.28034 -190688.23253 1362930.07284 -173446.43841 1337656.22101 -139727.35503 1324284.7367 -149632.50674 1320492.09967 -144558.12641 1309256.93676 -152951.86308 1303220.32384 -144569.19778 1290646.52061 -153720.207 1278630.50428 -137178.49917 1279912.30336 -134698.33268 1286781.7348 -137434.3101 1290058.05964 -134041.2197 1299866.24385 -131322.61421 1304843.52048 -132871.22105 + 1559766.65046 -223700.27054 1559773.17374 -223690.66053 1559768.49083 -223672.90387 1559761.80471 -223701.83963 1559766.65046 -223700.27054 + 1559888.18861 -223497.0593 1559983.90178 -223184.42984 1559760.40739 -223638.04534 1559888.18861 -223497.0593 + 1606556.02323 -183840.41712 1606561.80097 -183789.28487 1606433.97614 -183692.94229 1606419.47061 -183858.26283 1606556.02323 -183840.41712 + + + + + +

Champlain

+
+
+ + +
diff --git a/demo/ahmad-20210421/sportsplex.html b/demo/ahmad-20210421/sportsplex.html new file mode 100644 index 000000000..353fb5b2c --- /dev/null +++ b/demo/ahmad-20210421/sportsplex.html @@ -0,0 +1,62 @@ + + + + + + sportsplex (fake).html + + + + + + + + + + + diff --git a/demo/ahmad-20210421/sportsplex.mapml b/demo/ahmad-20210421/sportsplex.mapml new file mode 100644 index 000000000..7b58c1474 --- /dev/null +++ b/demo/ahmad-20210421/sportsplex.mapml @@ -0,0 +1,3702 @@ + + + sportsplex-outline + + + + + + + + + + + + + + + + + + NW Stairs + + + + 1510099.8 -181136.5 1510106.0 -181134.6 1510107.0 -181137.8 1510100.8 -181139.7 1510099.8 -181136.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID1
Floor1
Group_ +
NameNW Stairs
Evacuation +
Computer_A +
Shape__Are42.19140625
Shape__Len27.3972651425253
PublicViewYES
Shape__A_142.19140625
Shape__L_127.3972651406759
+
+
+ + NE Stairs + + + + 1510163.6 -181116.5 1510164.5 -181119.7 1510159.9 -181121.1 1510158.4 -181121.6 1510157.4 -181118.5 1510163.6 -181116.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID2
Floor1
Group_ +
NameNE Stairs
Evacuation +
Computer_A +
Shape__Are41.5234375
Shape__Len27.2182583033596
PublicViewYES
Shape__A_141.52734375
Shape__L_127.2182583070905
+
+
+ + Elevators + + + + 1510120.6 -181146.8 1510126.6 -181150.2 1510125.7 -181152.0 1510119.7 -181148.7 1510120.6 -181146.8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID3
Floor1
Group_ +
NameElevators
Evacuation +
Computer_A +
Shape__Are28.171875
Shape__Len25.1586859500819
PublicViewYES
Shape__A_128.16796875
Shape__L_125.1586859473815
+
+
+ + Central Stairs + + + + 1510119.3 -181148.8 1510125.6 -181152.3 1510124.3 -181154.9 1510118.0 -181151.4 1510119.3 -181148.8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID4
Floor1
Group_ +
NameCentral Stairs
Evacuation +
Computer_A +
Shape__Are40.47265625
Shape__Len28.1788332192079
PublicViewYES
Shape__A_140.4765625
Shape__L_128.1788332151601
+
+
+ + + + + 1510118.1 -181151.7 1510124.3 -181155.1 1510123.6 -181156.5 1510117.4 -181153.1 1510118.1 -181151.7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID5
Floor1
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are21.625
Shape__Len24.2182497233009
PublicView +
Shape__A_121.625
Shape__L_124.2182497220927
+
+
+ + + + + 1510105.2 -181138.4 1510107.3 -181137.8 1510108.3 -181141.2 1510106.2 -181141.8 1510105.2 -181138.4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID6
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are15.3046875
Shape__Len16.1082154262893
PublicView +
Shape__A_115.3046875
Shape__L_116.1082154207101
+
+
+ + + + + 1510129.8 -181133.9 1510130.6 -181134.4 1510129.9 -181135.8 1510129.1 -181135.3 1510129.8 -181133.9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID7
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are2.8515625
Shape__Len7.00118246604764
PublicViewYES
Shape__A_12.84765625
Shape__L_17.00118246469686
+
+
+ + + + + 1510128.6 -181135.2 1510128.0 -181136.5 1510126.3 -181135.5 1510127.3 -181133.5 1510128.7 -181130.7 1510129.2 -181129.5 1510130.7 -181130.3 1510129.9 -181131.9 1510131.2 -181132.6 1510130.4 -181134.1 1510129.2 -181133.5 1510129.2 -181133.6 1510129.7 -181133.9 1510129.0 -181135.3 1510128.0 -181134.7 1510127.9 -181134.9 1510128.6 -181135.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID8
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are29.6015625
Shape__Len31.3398398880569
PublicViewYES
Shape__A_129.59765625
Shape__L_131.3398398957172
+
+
+ + + + + 1510131.7 -181130.7 1510133.6 -181131.8 1510132.8 -181133.4 1510130.9 -181132.3 1510131.7 -181130.7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID9
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are7.7421875
Shape__Len11.2124814765281
PublicView +
Shape__A_17.75
Shape__L_111.2124814738255
+
+
+ + + + + 1510133.7 -181132.0 1510135.2 -181132.8 1510132.2 -181138.8 1510130.5 -181137.9 1510131.1 -181136.6 1510131.8 -181137.0 1510131.9 -181136.9 1510130.1 -181135.9 1510131.7 -181132.8 1510132.9 -181133.5 1510133.7 -181132.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID10
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are32.53125
Shape__Len29.7530306307438
PublicViewYES
Shape__A_132.53125
Shape__L_129.7530306347925
+
+
+ + + + + 1510160.3 -181121.3 1510162.5 -181120.6 1510163.5 -181123.8 1510162.4 -181124.1 1510160.9 -181123.3 1510160.3 -181121.3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID11
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are13.671875
Shape__Len14.8240925803073
PublicView +
Shape__A_113.671875
Shape__L_114.8240925771015
+
+
+ + + + + 1510162.6 -181120.6 1510164.6 -181119.9 1510165.6 -181123.1 1510163.6 -181123.8 1510162.6 -181120.6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID12
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are13.9140625
Shape__Len15.3040322927119
PublicView +
Shape__A_113.91015625
Shape__L_115.3040322964143
+
+
+ + + + + 1510148.7 -181115.8 1510149.6 -181118.6 1510147.5 -181119.3 1510146.6 -181116.5 1510148.7 -181115.8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID13
Floor1
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are12.94921875
Shape__Len14.527816955729
PublicView +
Shape__A_112.9453125
Shape__L_114.5278169622497
+
+
+ + + + + 1510144.0 -181120.5 1510146.1 -181119.8 1510147.0 -181122.6 1510144.9 -181123.3 1510144.0 -181120.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID14
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are12.9296875
Shape__Len14.5188277711599
PublicView +
Shape__A_112.9375
Shape__L_114.5188277767514
+
+
+ + + + + 1510135.5 -181127.1 1510132.4 -181128.0 1510131.9 -181126.4 1510135.0 -181125.4 1510135.5 -181127.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID16
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are10.93359375
Shape__Len13.8849468999863
PublicView +
Shape__A_110.9296875
Shape__L_113.884946900988
+
+
+ + + + + 1510131.5 -181119.0 1510132.2 -181121.2 1510130.6 -181121.8 1510129.9 -181119.5 1510131.5 -181119.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID17
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are7.77734375
Shape__Len11.3129478380308
PublicView +
Shape__A_17.7734375
Shape__L_111.3129478417777
+
+
+ + + + + 1510132.2 -181121.3 1510132.9 -181123.6 1510131.3 -181124.1 1510130.6 -181121.8 1510132.2 -181121.3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID18
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are7.78125
Shape__Len11.3112475573372
PublicView +
Shape__A_17.7734375
Shape__L_111.3112475554746
+
+
+ + + + + 1510122.3 -181122.0 1510123.4 -181125.3 1510120.1 -181126.3 1510119.1 -181123.0 1510122.3 -181122.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID19
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are22.71484375
Shape__Len19.0644569518252
PublicView +
Shape__A_122.7109375
Shape__L_119.0644569536924
+
+
+ + Admin Reception + + + + 1510119.3 -181133.9 1510120.3 -181137.3 1510115.1 -181139.0 1510114.0 -181135.6 1510119.3 -181133.9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID21
Floor +
Group_ +
NameAdmin Reception
Evacuation +
Computer_A +
Shape__Are38.75
Shape__Len25.4603676666813
PublicViewYES
Shape__A_138.73828125
Shape__L_125.460367668531
+
+
+ + + + + 1510108.4 -181141.2 1510106.3 -181134.5 1510109.2 -181133.6 1510111.3 -181140.2 1510108.4 -181141.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID23
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are41.9765625
Shape__Len28.1944432768635
PublicView +
Shape__A_141.98046875
Shape__L_128.1944432787261
+
+
+ + + + + 1510168.2 -181144.7 1510169.6 -181144.2 1510171.8 -181150.9 1510168.6 -181151.9 1510167.2 -181147.8 1510169.5 -181147.1 1510169.5 -181147.0 1510169.0 -181147.2 1510168.2 -181144.7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID24
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are35.51171875
Shape__Len30.4131302986374
PublicViewYES
Shape__A_135.50390625
Shape__L_130.4131302995012
+
+
+ + + + + 1510168.1 -181144.7 1510168.9 -181147.2 1510167.2 -181147.7 1510166.3 -181145.2 1510168.1 -181144.7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID25
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are9.2578125
Shape__Len12.3866524771432
PublicViewYES
Shape__A_19.26171875
Shape__L_112.3866524809231
+
+
+ + + + + 1510166.3 -181145.3 1510167.1 -181147.8 1510165.4 -181148.3 1510164.5 -181145.8 1510166.3 -181145.3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID26
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are9.36328125
Shape__Len12.4588734045381
PublicViewYES
Shape__A_19.37109375
Shape__L_112.458873406437
+
+
+ + + + + 1510163.1 -181146.2 1510164.4 -181145.8 1510165.3 -181148.3 1510164.8 -181148.4 1510164.8 -181148.6 1510167.1 -181147.9 1510168.5 -181151.9 1510165.3 -181152.9 1510163.1 -181146.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID27
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are35.28125
Shape__Len30.3530861832085
PublicViewYES
Shape__A_135.27734375
Shape__L_130.3530861954728
+
+
+ + + + + 1510165.4 -181153.1 1510171.8 -181151.1 1510175.0 -181160.6 1510172.8 -181161.3 1510173.4 -181163.0 1510175.6 -181162.4 1510175.7 -181162.6 1510175.5 -181162.7 1510175.7 -181163.0 1510175.8 -181163.0 1510176.1 -181163.9 1510176.0 -181164.0 1510176.1 -181164.4 1510171.6 -181165.7 1510171.0 -181164.0 1510168.6 -181162.7 1510165.4 -181153.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID28
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are164.640625
Shape__Len63.2505684800396
PublicViewYES
Shape__A_1164.640625
Shape__L_163.2505684827459
+
+
+ + + + + 1510175.0 -181160.7 1510175.6 -181162.3 1510173.4 -181162.9 1510172.9 -181161.4 1510175.0 -181160.7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID29
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are7.0078125
Shape__Len10.7106633950205
PublicViewYES
Shape__A_17.0078125
Shape__L_110.7106633857277
+
+
+ + + + + 1510182.6 -181160.9 1510183.7 -181160.5 1510183.8 -181160.6 1510184.8 -181160.3 1510185.3 -181161.7 1510183.1 -181162.4 1510182.6 -181160.9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID32
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are7.05859375
Shape__Len10.990549443039
PublicViewYES
Shape__A_17.0546875
Shape__L_110.9905494383793
+
+
+ + + + + 1510184.9 -181160.0 1510188.9 -181158.8 1510189.5 -181160.4 1510185.4 -181161.7 1510184.9 -181160.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID33
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are14.76953125
Shape__Len16.8681902221874
PublicViewYES
Shape__A_114.765625
Shape__L_116.8681902184459
+
+
+ + + + + 1510189.7 -181149.7 1510192.7 -181148.8 1510194.9 -181155.5 1510191.9 -181156.4 1510189.7 -181149.7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID34
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are43.38671875
Shape__Len28.5317233836326
PublicViewYES
Shape__A_143.3828125
Shape__L_128.5317233798612
+
+
+ + + + + 1510192.0 -181156.5 1510195.0 -181155.6 1510195.9 -181158.4 1510192.9 -181159.3 1510192.0 -181156.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID35
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are17.96875
Shape__Len16.9642323233136
PublicViewYES
Shape__A_117.97265625
Shape__L_116.9642323205002
+
+
+ + + + + 1510192.8 -181159.3 1510189.6 -181160.3 1510186.9 -181152.4 1510190.1 -181151.5 1510190.8 -181153.4 1510192.8 -181159.3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID36
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are54.18359375
Shape__Len32.581428489963
PublicViewYES
Shape__A_154.18359375
Shape__L_132.5814284797484
+
+
+ + + + + 1510185.7 -181148.8 1510189.4 -181147.7 1510190.4 -181147.4 1510192.6 -181148.6 1510192.6 -181148.7 1510189.5 -181149.6 1510190.1 -181151.4 1510186.9 -181152.3 1510185.7 -181148.8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID37
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are33.60546875
Shape__Len27.5472362187943
PublicViewYES
Shape__A_133.60546875
Shape__L_127.547236224847
+
+
+ + + + + 1510184.0 -181143.8 1510188.7 -181142.4 1510189.8 -181145.6 1510189.9 -181145.6 1510190.4 -181147.1 1510190.3 -181147.1 1510190.3 -181147.3 1510185.7 -181148.7 1510184.0 -181143.8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID38
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are49.4453125
Shape__Len28.3040837726255
PublicViewYES
Shape__A_149.44140625
Shape__L_128.3040837769276
+
+
+ + Break Room + + + + 1510154.8 -181134.5 1510155.9 -181132.5 1510156.3 -181131.7 1510156.3 -181131.7 1510158.8 -181133.0 1510158.9 -181132.9 1510160.5 -181133.9 1510160.5 -181133.9 1510160.8 -181134.1 1510161.9 -181132.0 1510171.5 -181129.1 1510172.0 -181130.8 1510169.5 -181135.9 1510169.8 -181136.6 1510168.9 -181136.9 1510163.5 -181138.5 1510163.5 -181138.5 1510162.7 -181138.8 1510154.9 -181134.6 1510154.8 -181134.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID42
Floor1
Group_ +
NameBreak Room
Evacuation +
Computer_A +
Shape__Are171.76171875
Shape__Len63.5964281294957
PublicViewYES
Shape__A_1171.76171875
Shape__L_163.5964281277247
+
+
+ + + + + 1510162.4 -181150.9 1510163.0 -181152.6 1510162.3 -181152.8 1510161.7 -181151.1 1510162.4 -181150.9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID45
Floor +
Group_ +
Name +
Evacuation +
Computer_A +
Shape__Are2.55078125
Shape__Len7.06394269008744
PublicViewYES
Shape__A_12.55078125
Shape__L_17.0639426985433
+
+
+ + New + + + + 1510159.4 -181143.2 1510160.0 -181143.5 1510161.5 -181148.3 1510161.4 -181148.3 1510160.4 -181148.6 1510158.7 -181149.2 1510158.4 -181148.2 1510158.2 -181147.7 1510158.2 -181147.7 1510158.3 -181147.7 1510157.6 -181145.7 1510157.1 -181144.2 1510156.6 -181142.7 1510157.9 -181142.4 1510159.4 -181143.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID47
Floor1
Group_ +
NameNew
Evacuation +
Computer_A +
Shape__Are36.109375
Shape__Len25.8834492260344
PublicViewYES
Shape__A_136.09765625
Shape__L_125.8834492265911
+
+
+ + Administration + + + + 1510116.2 -181121.3 1510114.8 -181116.8 1510117.8 -181115.8 1510119.3 -181120.4 1510116.2 -181121.3 + + + 1510116.6 -181127.4 1510115.8 -181124.9 1510119.2 -181123.8 1510120.0 -181126.3 1510116.6 -181127.4 + + + 1510111.7 -181128.6 1510110.9 -181126.1 1510114.2 -181125.1 1510115.0 -181127.6 1510111.7 -181128.6 + + + 1510108.4 -181129.6 1510107.6 -181127.1 1510110.8 -181126.1 1510111.6 -181128.6 1510108.4 -181129.6 + + + 1510149.7 -181118.6 1510148.8 -181115.8 1510150.9 -181115.1 1510151.8 -181117.9 1510149.7 -181118.6 + + + 1510113.2 -181139.5 1510112.8 -181138.0 1510114.5 -181137.5 1510115.0 -181138.9 1510113.2 -181139.5 + + + 1510111.7 -181140.0 1510111.3 -181138.5 1510112.8 -181138.0 1510112.8 -181138.0 1510112.8 -181138.0 1510113.2 -181139.5 1510111.7 -181140.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID218
Floor1
Group_Administration
NameAdministration
Evacuation +
Computer_A +
Shape__Are12.9375
Shape__Len14.5210285617813
PublicView +
Shape__A_1107.49609375
Shape__L_1106.570140768237
+
+
+ + Attorney General + + + + 1510122.5 -181119.4 1510119.4 -181120.3 1510118.0 -181115.8 1510121.1 -181114.8 1510122.5 -181119.4 + + + 1510122.6 -181119.3 1510121.2 -181114.8 1510124.3 -181113.8 1510125.7 -181118.3 1510122.6 -181119.3 + + + 1510137.6 -181122.5 1510138.5 -181125.3 1510136.4 -181125.9 1510135.5 -181123.1 1510137.6 -181122.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID217
Floor1
Group_Attorney General
NameAttorney General
Evacuation +
Computer_A +
Shape__Are12.94140625
Shape__Len14.5286225543785
PublicView +
Shape__A_173.40234375
Shape__L_159.3544679149574
+
+
+ + Communications + + + + 1510113.0 -181122.4 1510111.6 -181117.8 1510114.7 -181116.8 1510116.1 -181121.4 1510113.0 -181122.4 + + + 1510126.4 -181120.7 1510127.9 -181125.5 1510125.1 -181126.4 1510123.6 -181121.6 1510126.4 -181120.7 + + + 1510125.2 -181126.5 1510127.9 -181125.6 1510129.0 -181129.1 1510127.6 -181132.1 1510126.8 -181131.7 1510125.2 -181126.5 + + + 1510130.9 -181123.5 1510127.7 -181124.5 1510126.5 -181120.8 1510126.5 -181120.7 1510129.7 -181119.7 1510130.9 -181123.5 + + + 1510119.4 -181126.6 1510119.9 -181128.3 1510117.1 -181129.2 1510116.6 -181127.5 1510119.4 -181126.6 + + + 1510122.2 -181125.8 1510122.7 -181127.4 1510120.0 -181128.3 1510119.5 -181126.6 1510122.2 -181125.8 + + + 1510120.8 -181131.5 1510121.3 -181133.1 1510118.6 -181134.0 1510118.1 -181132.3 1510120.8 -181131.5 + + + 1510120.9 -181131.4 1510123.4 -181130.6 1510123.9 -181132.3 1510121.4 -181133.1 1510120.9 -181131.4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID220
Floor1
Group_Communications
NameCommunications
Evacuation +
Computer_A +
Shape__Are28.578125
Shape__Len22.6189115722735
PublicView +
Shape__A_1152.41015625
Shape__L_1138.968903671164
+
+
+ + Comptroller + + + + 1510140.6 -181113.8 1510139.6 -181110.7 1510142.3 -181109.9 1510145.0 -181109.0 1510146.0 -181112.1 1510143.3 -181113.0 1510140.6 -181113.8 + + + 1510129.1 -181117.3 1510127.6 -181112.7 1510130.7 -181111.8 1510132.1 -181116.3 1510129.1 -181117.3 + + + 1510154.9 -181109.7 1510153.7 -181105.9 1510156.7 -181104.9 1510157.9 -181108.8 1510154.9 -181109.7 + + + 1510155.9 -181113.1 1510154.9 -181109.8 1510157.9 -181108.8 1510159.0 -181112.1 1510155.9 -181113.1 + + + 1510157.0 -181116.7 1510155.9 -181113.2 1510159.0 -181112.2 1510159.6 -181114.0 1510158.5 -181116.2 1510157.0 -181116.7 + + + 1510146.0 -181112.1 1510145.1 -181109.0 1510147.7 -181108.2 1510148.7 -181111.3 1510146.0 -181112.1 + + + 1510137.8 -181114.7 1510136.8 -181111.6 1510139.5 -181110.8 1510140.5 -181113.8 1510137.8 -181114.7 + + + 1510135.1 -181115.6 1510134.1 -181112.5 1510136.8 -181111.6 1510137.7 -181114.7 1510135.1 -181115.6 + + + 1510132.3 -181116.4 1510131.4 -181113.3 1510134.0 -181112.5 1510135.0 -181115.6 1510132.3 -181116.4 + + + 1510143.0 -181117.5 1510142.2 -181114.7 1510144.3 -181114.0 1510145.2 -181116.8 1510143.0 -181117.5 + + + 1510152.9 -181117.5 1510152.2 -181115.3 1510154.9 -181114.4 1510155.6 -181116.7 1510152.9 -181117.5 + + + 1510153.5 -181126.7 1510152.8 -181124.5 1510155.5 -181123.7 1510156.2 -181125.9 1510153.5 -181126.7 + + + 1510152.2 -181115.2 1510151.5 -181112.9 1510154.2 -181112.1 1510154.9 -181114.4 1510152.2 -181115.2 + + + 1510144.0 -181120.4 1510143.1 -181117.6 1510145.2 -181116.9 1510146.1 -181119.7 1510144.0 -181120.4 + + + 1510141.7 -181121.1 1510140.9 -181118.3 1510143.0 -181117.6 1510143.9 -181120.4 1510141.7 -181121.1 + + + 1510142.6 -181124.0 1510141.8 -181121.2 1510143.9 -181120.5 1510144.8 -181123.3 1510142.6 -181124.0 + + + 1510148.8 -181115.7 1510147.9 -181112.9 1510150.0 -181112.2 1510150.9 -181115.0 1510148.8 -181115.7 + + + 1510140.8 -181118.2 1510140.0 -181115.4 1510142.1 -181114.7 1510143.0 -181117.5 1510140.8 -181118.2 + + + 1510151.5 -181112.9 1510150.8 -181110.6 1510153.5 -181109.8 1510154.2 -181112.0 1510151.5 -181112.9 + + + 1510152.0 -181122.1 1510151.3 -181119.9 1510154.0 -181119.0 1510154.7 -181121.3 1510152.0 -181122.1 + + + 1510146.6 -181116.4 1510145.7 -181113.6 1510147.8 -181112.9 1510148.7 -181115.7 1510146.6 -181116.4 + + + 1510152.8 -181124.4 1510152.1 -181122.2 1510154.7 -181121.3 1510155.4 -181123.6 1510152.8 -181124.4 + + + 1510150.8 -181110.6 1510150.1 -181108.3 1510152.7 -181107.5 1510153.4 -181109.7 1510150.8 -181110.6 + + + 1510148.8 -181123.1 1510148.1 -181120.9 1510150.3 -181120.2 1510151.0 -181122.4 1510148.8 -181123.1 + + + 1510150.3 -181127.8 1510149.6 -181125.5 1510151.7 -181124.8 1510152.4 -181127.1 1510150.3 -181127.8 + + + 1510149.5 -181125.4 1510148.8 -181123.2 1510151.0 -181122.5 1510151.7 -181124.7 1510149.5 -181125.4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID215
Floor1
Group_Comptroller
NameComptroller
Evacuation +
Computer_A +
Shape__Are20.27734375
Shape__Len17.9424977409949
PublicViewNo
Shape__A_1417.18359375
Shape__L_1413.365249552588
+
+
+ + Comptroler's Conference Room + + + + 1510147.4 -181127.4 1510146.3 -181127.8 1510145.9 -181128.7 1510141.0 -181130.2 1510140.1 -181129.7 1510139.0 -181130.1 1510138.1 -181127.1 1510146.5 -181124.4 1510147.4 -181127.4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID15
Floor +
Group_Conference Room
NameComptroler's Conference Room
Evacuation +
Computer_A +
Shape__Are62.4765625
Shape__Len34.2568477540158
PublicViewYES
Shape__A_162.47265625
Shape__L_134.256847765295
+
+
+ + Sand Stone Conference Room + + + + 1510119.4 -181133.9 1510125.1 -181132.0 1510126.5 -181131.6 1510127.5 -181132.2 1510125.9 -181135.5 1510125.8 -181135.5 1510124.5 -181135.9 1510124.5 -181135.8 1510124.0 -181135.9 1510124.0 -181136.2 1510120.5 -181137.3 1510119.4 -181133.9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID20
Floor +
Group_Conference Room
NameSand Stone Conference Room
Evacuation +
Computer_A +
Shape__Are50.140625
Shape__Len30.7380874047392
PublicViewYES
Shape__A_150.140625
Shape__L_130.7380874087764
+
+
+ + John Njord Conference Room + + + + 1510114.7 -181127.8 1510116.9 -181134.5 1510110.2 -181136.6 1510108.1 -181129.9 1510114.7 -181127.8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID22
Floor1
Group_Conference Room
NameJohn Njord Conference Room
Evacuation +
Computer_A +
Shape__Are96.19921875
Shape__Len39.235319902107
PublicViewYES
Shape__A_196.203125
Shape__L_139.2353199048987
+
+
+ + Redwood A + + + + 1510175.8 -181162.6 1510171.1 -181148.3 1510172.4 -181147.9 1510172.2 -181147.3 1510174.1 -181146.8 1510175.2 -181147.7 1510177.3 -181147.1 1510176.9 -181145.9 1510177.4 -181145.8 1510182.4 -181160.6 1510175.8 -181162.6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID30
Floor1
Group_Conference Room
NameRedwood A
Evacuation +
Computer_A +
Shape__Are203.0625
Shape__Len65.7503934591925
PublicViewYES
Shape__A_1203.06640625
Shape__L_165.7503934505279
+
+
+ + Redwood B + + + + 1510177.4 -181145.8 1510178.1 -181145.5 1510178.5 -181146.7 1510180.6 -181146.0 1510180.9 -181144.7 1510183.9 -181143.8 1510187.2 -181153.7 1510188.9 -181158.6 1510183.6 -181160.2 1510182.6 -181160.6 1510182.4 -181160.6 1510177.4 -181145.8 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID31
Floor1
Group_Conference Room
NameRedwood B
Evacuation +
Computer_A +
Shape__Are199.8671875
Shape__Len65.2066713199545
PublicViewYES
Shape__A_1199.85546875
Shape__L_165.2066713200856
+
+
+ + UDOT Training Room + + + + 1510172.2 -181130.9 1510172.3 -181131.0 1510180.4 -181135.4 1510186.5 -181138.7 1510186.9 -181138.9 1510186.7 -181139.0 1510183.0 -181140.1 1510173.9 -181142.8 1510172.9 -181143.1 1510172.2 -181143.3 1510169.7 -181135.9 1510172.2 -181130.9 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID39
Floor1
Group_Conference Room
NameUDOT Training Room
Evacuation +
Computer_A +
Shape__Are209.9609375
Shape__Len63.8940542658586
PublicViewYES
Shape__A_1209.96875
Shape__L_163.8940542645922
+
+
+ + Orange Room + + + + 1510158.0 -181136.4 1510162.5 -181138.8 1510159.0 -181139.9 1510159.0 -181139.9 1510158.9 -181139.8 1510157.7 -181139.2 1510156.9 -181138.7 1510158.0 -181136.4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID40
Floor1
Group_Conference Room
NameOrange Room
Evacuation +
Computer_A +
Shape__Are18.91796875
Shape__Len19.163705722191
PublicViewYES
Shape__A_118.9140625
Shape__L_119.1637057168473
+
+
+ + Blue Room + + + + 1510157.9 -181136.3 1510156.8 -181138.7 1510155.8 -181138.1 1510153.7 -181137.0 1510154.7 -181134.8 1510154.8 -181134.8 1510154.9 -181134.7 1510157.9 -181136.3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID41
Floor1
Group_Conference Room
NameBlue Room
Evacuation +
Computer_A +
Shape__Are17.9765625
Shape__Len17.175334554187
PublicViewYES
Shape__A_117.98828125
Shape__L_117.1753345660567
+
+
+ + Antelope + + + + 1510158.8 -181149.3 1510161.4 -181148.5 1510162.2 -181150.8 1510161.5 -181151.0 1510161.8 -181151.9 1510158.2 -181153.0 1510157.7 -181151.5 1510158.8 -181149.3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID43
Floor1
Group_Conference Room
NameAntelope
Evacuation +
Computer_A +
Shape__Are25.6796875
Shape__Len20.6735526595924
PublicViewYES
Shape__A_125.68359375
Shape__L_120.6735526528215
+
+
+ + Timpanogos + + + + 1510158.3 -181153.1 1510161.9 -181152.1 1510162.2 -181153.0 1510162.9 -181152.8 1510163.4 -181154.2 1510163.7 -181155.1 1510159.4 -181156.4 1510158.3 -181153.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID44
Floor1
Group_Conference Room
NameTimpanogos
Evacuation +
Computer_A +
Shape__Are28.71484375
Shape__Len22.100334082004
PublicViewYES
Shape__A_128.71484375
Shape__L_122.1003340949377
+
+
+ + Lester Wire Conference Room + + + + 1510159.4 -181156.5 1510164.9 -181154.9 1510165.7 -181154.6 1510168.4 -181162.6 1510164.4 -181160.4 1510161.1 -181161.4 1510159.4 -181156.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID46
Floor1
Group_Conference Room
NameLester Wire Conference Room
Evacuation +
Computer_A +
Shape__Are76.99609375
Shape__Len39.5633728503254
PublicViewYES
Shape__A_176.9921875
Shape__L_139.5633728534116
+
+
+ + Conference Room + + + + 1510127.7 -181124.6 1510130.9 -181123.6 1510132.5 -181128.7 1510131.8 -181129.0 1510131.7 -181129.1 1510131.2 -181130.1 1510129.1 -181128.9 1510127.7 -181124.6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID219
Floor +
Group_Conference Room
NameConference Room
Evacuation +
Computer_A +
Shape__Are35.71875
Shape__Len24.7532353540476
PublicView +
Shape__A_1429.24609375
Shape__L_1229.680103776071
+
+
+ + Executive + + + + + 1510099.2 -181123.3 1510100.4 -181122.9 1510101.1 -181122.7 1510101.1 -181122.8 1510101.4 -181122.7 1510101.4 -181122.5 1510101.3 -181122.3 1510103.8 -181121.6 + 1510104.9 -181125.0 1510105.20 -181126 1510106.1 -181129.0 1510107.1 -181132.3 1510104.1 -181133.3 1510102.0 -181132.1 1510099.2 -181123.3 + + + 1510108.2 -181118.9 1510109.7 -181123.4 1510104.9 -181124.9 1510103.9 -181121.5 1510105.3 -181121.0 1510105.4 -181121.4 1510105.7 -181121.3 1510105.3 -181119.8 1510108.2 -181118.9 + + + 1510112.9 -181122.4 1510109.8 -181123.4 1510108.4 -181118.8 1510111.5 -181117.9 1510112.9 -181122.4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID221
Floor1
Group_Executive
NameExecutive
Evacuation +
Computer_A +
Shape__Are30.26953125
Shape__Len22.40876774076
PublicView +
Shape__A_1174.45703125
Shape__L_194.6295165385013
+
+
+ + Human Resources + + + + 1510128.9 -181117.3 1510125.8 -181118.3 1510124.4 -181113.8 1510127.5 -181112.8 1510128.9 -181117.3 + + + 1510136.7 -181130.8 1510135.6 -181131.1 1510132.9 -181129.7 1510132.5 -181128.1 1510135.6 -181127.2 1510136.7 -181130.8 + + + 1510132.9 -181117.6 1510135.8 -181116.7 1510136.7 -181119.5 1510133.8 -181120.4 1510132.9 -181117.6 + + + 1510136.8 -181119.6 1510139.7 -181118.6 1510140.6 -181121.4 1510137.7 -181122.4 1510136.8 -181119.6 + + + 1510133.8 -181120.5 1510136.7 -181119.6 1510137.6 -181122.4 1510134.7 -181123.3 1510133.8 -181120.5 + + + 1510136.0 -181116.7 1510138.8 -181115.8 1510139.7 -181118.6 1510136.9 -181119.5 1510136.0 -181116.7 + + + 1510137.7 -181122.4 1510139.8 -181121.8 1510140.7 -181124.6 1510138.6 -181125.2 1510137.7 -181122.4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Property nameProperty value
OBJECTID216
Floor1
Group_Human Resources
NameHuman Resources
Evacuation +
Computer_A +
Shape__Are17.3046875
Shape__Len16.6414500132689
PublicView +
Shape__A_1133.52734375
Shape__L_1122.167291816967
+
+
+ +
\ No newline at end of file diff --git a/demo/bc.html b/demo/bc.html deleted file mode 100644 index 4e5cfc4b6..000000000 --- a/demo/bc.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - Province of British Columbia tile caches - - - - - - - - - - - - - - GeoBC - - - diff --git a/demo/bcgov.mapml b/demo/bcgov.mapml deleted file mode 100644 index 23b54251c..000000000 --- a/demo/bcgov.mapml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - British Columbia Geological Survey - - - - - - - - - British Columbia Geological Survey - - - - -123.362105 48.430882 - - - - - \ No newline at end of file diff --git a/demo/change-projection/zoomin-zoomout/asdi-changeProjection.mapml b/demo/change-projection/zoomin-zoomout/asdi-changeProjection.mapml deleted file mode 100644 index 2846d7d38..000000000 --- a/demo/change-projection/zoomin-zoomout/asdi-changeProjection.mapml +++ /dev/null @@ -1,24 +0,0 @@ - - - - Arctic SDI for Canada - - > - - - - - - - - - - - - - - diff --git a/demo/change-projection/zoomin-zoomout/mapml-viewer/index.html b/demo/change-projection/zoomin-zoomout/mapml-viewer/index.html deleted file mode 100644 index c73b53aed..000000000 --- a/demo/change-projection/zoomin-zoomout/mapml-viewer/index.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - Change projection at z=9 - - - - - - - - - - - diff --git a/demo/change-projection/zoomin-zoomout/osm-changeProjection.mapml b/demo/change-projection/zoomin-zoomout/osm-changeProjection.mapml deleted file mode 100644 index 42848e13a..000000000 --- a/demo/change-projection/zoomin-zoomout/osm-changeProjection.mapml +++ /dev/null @@ -1,22 +0,0 @@ - - - - OpenStreetMap - - - - - - - - - - - - - - - diff --git a/demo/change-projection/zoomin-zoomout/web-map/index.html b/demo/change-projection/zoomin-zoomout/web-map/index.html deleted file mode 100644 index 644505814..000000000 --- a/demo/change-projection/zoomin-zoomout/web-map/index.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - - Change projection at z=9 - - - - - - - - - - - diff --git a/demo/painting.html b/demo/painting.html deleted file mode 100644 index 2a1824940..000000000 --- a/demo/painting.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - Painting Example - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/index.html b/index.html index 25ddf635b..14c7b7be8 100644 --- a/index.html +++ b/index.html @@ -52,36 +52,10 @@ } - - - From 2d5898799bb7df847877097455440c44d01733df Mon Sep 17 00:00:00 2001 From: Peter Rushforth Date: Thu, 6 May 2021 16:01:44 -0400 Subject: [PATCH 3/9] Clean up demo directory a bit --- .../{ahmad-20210421 => 20210421}/canada.mapml | 0 demo/{ahmad-20210421 => 20210421}/index.html | 0 demo/{ahmad-20210421 => 20210421}/lhin.mapml | 0 .../sportsplex.html | 0 .../sportsplex.mapml | 0 demo/blog/MapsForHTML.png | Bin 6725 -> 0 bytes demo/blog/progressive-web-maps.html | 259 -- demo/blog/styles/v2-combined.css | 2129 ----------------- .../cbmt-changeProjection.mapml | 17 - demo/custom/bootstrap-ui.html | 103 - demo/custom/custom-css-ui.html | 103 - demo/custom/custom-ui.js | 79 - demo/custom/index.html | 42 - 13 files changed, 2732 deletions(-) rename demo/{ahmad-20210421 => 20210421}/canada.mapml (100%) rename demo/{ahmad-20210421 => 20210421}/index.html (100%) rename demo/{ahmad-20210421 => 20210421}/lhin.mapml (100%) rename demo/{ahmad-20210421 => 20210421}/sportsplex.html (100%) rename demo/{ahmad-20210421 => 20210421}/sportsplex.mapml (100%) delete mode 100644 demo/blog/MapsForHTML.png delete mode 100644 demo/blog/progressive-web-maps.html delete mode 100644 demo/blog/styles/v2-combined.css delete mode 100644 demo/change-projection/zoomin-zoomout/cbmt-changeProjection.mapml delete mode 100644 demo/custom/bootstrap-ui.html delete mode 100644 demo/custom/custom-css-ui.html delete mode 100644 demo/custom/custom-ui.js delete mode 100644 demo/custom/index.html diff --git a/demo/ahmad-20210421/canada.mapml b/demo/20210421/canada.mapml similarity index 100% rename from demo/ahmad-20210421/canada.mapml rename to demo/20210421/canada.mapml diff --git a/demo/ahmad-20210421/index.html b/demo/20210421/index.html similarity index 100% rename from demo/ahmad-20210421/index.html rename to demo/20210421/index.html diff --git a/demo/ahmad-20210421/lhin.mapml b/demo/20210421/lhin.mapml similarity index 100% rename from demo/ahmad-20210421/lhin.mapml rename to demo/20210421/lhin.mapml diff --git a/demo/ahmad-20210421/sportsplex.html b/demo/20210421/sportsplex.html similarity index 100% rename from demo/ahmad-20210421/sportsplex.html rename to demo/20210421/sportsplex.html diff --git a/demo/ahmad-20210421/sportsplex.mapml b/demo/20210421/sportsplex.mapml similarity index 100% rename from demo/ahmad-20210421/sportsplex.mapml rename to demo/20210421/sportsplex.mapml diff --git a/demo/blog/MapsForHTML.png b/demo/blog/MapsForHTML.png deleted file mode 100644 index d5cccdf6de422ce60036beffb2694e8f9e400191..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6725 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 - - - - - - Progressive Web Maps - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-

Progressive Web Maps

-

Customized Built-in <map> vs. Autonomous Custom <web-map> element

- Maps for HTML -
-
- -
- -
- -
- - - -

Progressive Web Maps

-

There is a lot of discussion about things 'progressive' these days. The competition between the Web Platform and the mobile native platforms is heating up. It is not overloading the term to point out the connection between 'progressive' behaviour and extending the Web platform, which is the broader subject category of this post about Web mapping. -

-

The narrower topic here is: should we (the Maps for HTML Community Group) create and eventually propose a new element for HTML which has map semantics but is called something else, for example "webmap", or should we create and propose extended image map behaviour for the existing HTML "map" element. -

-

The currently accepted best way to influence the Web Platform (i.e. the set of browsers whose developer teams support the WHATWG / W3C processes) is to: a) have a community and b) build a prototype if possible that demonstrates the idea and c) come prepared. -

-

Relative to a), we warmly invite you to join our CG to show your support, or even contribute 😍. -

-

In order to address b), evolving modern Web standards in the form of Custom Elements give us the opportunity to simulate how a proposed "native" Web platform element might behave, and that fact is long overdue, perhaps explaining why maps are not yet part of the Web platform. -

-

There are two options for new behaviour in declarative HTML: extending the semantics of existing standard markup by with attributes and/or permitted content or defining entirely new elements. Although the barrier to doing the latter might seem lower at first glance, there is a school of thought which suggests that the former approach provides better value to the Web platform. -

-

Custom Elements supports both paths. There are two types: autonomous custom elements with a hyphen in the name e.g. <taco-button>Eat me!</taco-button>, and customized built-in elements, which override the behavior of an existing HTML element by adding the "is" attribute e.g. <button is="tequila-button">Drink me!</button>. -

-

Show Me The Map!

-
-          
-<-- You will see the old image map behaviour if: -->
-<-- * you're using an IE browser, this page should force IE7 mode -->
-<-- * in FireFox, if Web Components are enabled, I believe the HTML import for the map custom element won't work -->
-<-- * in any browser if you disable javascript -->
-<-- else the map@is=web-map should have custom behaviour, including zoom, pan, layers, controls etc. -->
-
-<-- The img element is only used for fallback processing, otherwise it is deleted by the custom element on load -->
-<img usemap="#dowslake" src="map1.png" width="700" height="400" alt="Dow's Lake area">
-
-<-- The map element can be set up by the HTML author to provide the old image map behaviour -->
-<map name="dowslake" is="web-map" zoom="17" lat="45.398043" lon="-75.70683" width="700" height="400" controls hidden>
-  <layer- id="osm" src="https://geogratis.gc.ca/mapml/osm/" label="Open Street Map" checked hidden></layer->
-  <layer- id="canvec" src="https://geogratis.gc.ca/mapml/canvec/50k/features/"  label="CanVec+ 031G" class="transparency"></layer->
-  <layer- id="marker" label="Marker layer" src="marker.mapml"></layer->
-  <area is="map-area"id="marker2" href='http://example.com/marker/' alt="Marker" coords="265,185" shape="marker">
-  The shape=marker keyword is new, if we want a link there in old UAs we have to provide a fallback, using rect
-  <area is="map-area" href='http://example.com/marker/' alt="Marker" coords="255,145,275,190" shape="rect" style="fill: none">
-  <area is="map-area"id="line" href='http://example.com/line/' alt="Line" coords="275,275,540,107" shape="line">
-  <area is="map-area"id="donut" alt="Circle" href='http://example.com/circle/' coords="250,250,25" shape="circle" style="fill: white; stroke: aqua; stroke-width: 5px;fill-opacity: 0.0">
-  <area is="map-area"id="hole" coords="250,250,7" shape="circle" style="fill: blue; stroke: none;fill-opacity: 0.3;">
-  <area is="map-area"id="rect" href='http://example.com/rectangle/' alt="Rectangle" coords="345,290,415,320" shape="rect" style="fill: greenyellow; stroke: blue; stroke-width: 3px;fill-opacity: 0.4">
-  <area is="map-area"id="poly" href='http://example.com/polygon/' alt="Polygon" coords="392,116,430,100,441,128,405,145" shape="poly" style="fill: pink; stroke: blue; stroke-width: 3px;fill-opacity: 0.4">
-</map>
-      
-      
- - Dow's Lake area - -

Here it is. You can refer to that page as you read along, possibly loading it in different browsers, or reloading without JavaScript etc., to get the idea of what is being discussed. -

-

There are many considerations to both avenues, and we are seeking feedback with this post about what is the best route for web maps. We are not yet at the proposal stage, but we will get there eventually. Your feedback now would be greatly appreciated. -

-

Progressive Enhancement and Progressive Web Apps

-

At its core, a Progressive Web App is one that (among other important characteristics) uses progressive enhancement as a means to support offline behaviour with or possibly even without service workers (because there are varying degrees of offline – some domains may be dead while others are available) (The truth is that I have not had the time to learn about and implement a Service Worker feature for the above page, but I'm pretty sure that it will already enhance progressively with varying degrees of browser technology and connectivity. If anyone is interested enough to try to implement a SW for that page, that would be very cool, get in touch!). -

-

An important question a new element design has to consider is: "What will user agents that don't support or know about this element do when they encounter it"? I.e. what is the fallback strategy for the element in a user agent that doesn't know about it. -

-

For a new native unknown or 'autonomous' custom element, the answer is that nothing will happen, and the experience the user has will not likely be the desired one. The user agent will parse the document and find unknown HTML elements, which render their text content, if any. Possibly script could be used for damage control, or noscript used to suggest upgrading your browser (graceful degradation). -

-

For a 'built-in custom' or an extended existing native element, the situation can be simulated today by running the page in an Internet Explorer, which doesn't support Web Components. If the fallback strategy in the latter (native extended element semantics) case relies on providing a (Custom Element) shim or polyfill, what will the browser do with script turned off/or script errors? Shutting script off in any browser would seem to simulate the script-turned-off situation today. However, probably more common will be the script-errors case, especially my own! -

-

Semantics

-

Although cartographic applications are not currently reflected in the HTML map element specification examples, they are definitely part of the heritage and meaning of the element. According to Dan Connolly, the original (server side) image maps (img@ismap) began partly in support of the original web maps developed by Xerox PARC. Their subsequent evolution to img@usemap not only solved the problems with server side image maps, it provided a progressive enhancement-type path for HTML authors, by design. -

-

The HTML map element described by that RFC does essentially what a (primitive) web map should do: portray a two dimensional space and allow the HTML author to create shaped links in that space. In other words, it already has the core semantics we need for Web maps. Clearly it's not responsive, and it lacks more advanced Web mapping features or behaviour, but it is the kernel of the user experience that one wants with a Web map. Consider Google Maps, for example. Apart and aside from the incredible and evolving user experience, what is it? Essentially, it is a two dimensional picture with hyperlinks on it. -

-

According to the latest draft of the Custom Elements spec: -

-
"…user agents and other software key off an element's local name in order to identify the element's semantics and behaviour. That is, the concept of customized built-in elements building on top of existing behaviour depends crucially on the extended elements retaining their original local name." -
-

A key question you may have is: "What new behaviour should the new map element have?" There are documents about the use cases that should be supported, and I think they are relevant here. Please, have a glance at them. Although development is not complete at the time of writing, some key use cases across the different categories of User Experience, HTML Authoring and Map Content Authoring are supported by the evolving prototype. -

-

Knowing what the thing is supposed to do may lead to another question: "Is there a good place to start / extend from which already exists in HTML, and could there be an organic extension of that to support these use cases without disrupting existing applications? -

-

This is the advice of Custom Elements' (earlier) designers:

-
The simplest and most robust method to create custom elements that are usable and accessible is to implement custom elements as type extensions. This method provides a custom element with built in semantics and interaction behaviours that developers can use as a foundation.
-

The reason they give that advice is because of the default semantics of autonomous vs customized built-in elements . -

-

Accessibility

- -

One of the main reasons you should favour extending an existing element when creating custom elements is because (in theory, at least) you get accessibility already baked into the element, based on what you're extending. Bruce Lawson perfectly described the reasoning behind this, way ahead of the curve (as usual). -

-

Then again, Bruce's examples are based on "super-whizzo-fabbo-megalicious UltraShiny" Web Component checkboxes, and here we're talking about plain old semantic HTML image maps, not a user interface thingy. -

-

Steve Faulkner described the accessibility of built in HTML elements, and why you should increasingly rely on them. I'm not certain how much this applies to the map element, as it has no default role and a 'transparent' content model in HTML5 – perhaps it applies more so to the child element - but it is obvious that progressive Web maps must be accessible, continuing and possibly extending the existing accessible features-as-hyperlinks (<area>) model that can be tabbed to and manipulated with Assistive Technology. Some applications of today's HTML map element are designed for accessible cartographic maps that eschew script. With your input, we can define the appropriate baseline for accessible Web maps for the platform. -

-

Conclusion

-

The intended semantics and behaviour of the map custom type extension element continues evolution of Web (platform) maps, albeit 20 years after the last step. We had to wait for Custom Elements, to come along to make this path possible.

-

The map element has apparently been a little bit neglected by the standards maintainers, no insult intended, perhaps because there are alternative, modern techniques to accomplish the site navigation use cases which seem to have become prominent in the standards developers' minds. But more likely, it is because the attention and support of the Web mapping / geospatial / open data community who might benefit the most from a more functional HTML map element, has been long diverted – once again possibly waiting for Custom Elements to herald a new era in platform evolution. -

-

This is a perfect opportunity to give the map element, and by extension the Web platform itself, continued relevance. Nothing could be better than to initiate and stoke a virtuous feedback cycle https://extensiblewebmanifesto.org/ between the geospatial and Web developer communities at a time when the Web in crisis https://medium.com/@stopsatgreen/the-crisis-facing-the-web-platform-4ab47515ed42#.b9g8ecm28 and geospatial technology is fast receding as a distinct discipline unto itself https://www.google.ca/trends/explore#q=geographic%20information%20systems . -

-

Let the Web mapping community have the map element and together let's take on the challenge of the mobile platforms, aided by Progressive Web Maps. And by "let", I mean help us identify and test all the details that will make the addition of Progressive Web Maps (PWA) a progression in the Web platform itself. -

-
-
-
-
- - diff --git a/demo/blog/styles/v2-combined.css b/demo/blog/styles/v2-combined.css deleted file mode 100644 index 8a1352bfe..000000000 --- a/demo/blog/styles/v2-combined.css +++ /dev/null @@ -1,2129 +0,0 @@ -/* NORMALIZE */ - -article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; } -audio, canvas, video { display: inline-block; *display: inline; *zoom: 1; } -audio:not([controls]) { display: none; } -[hidden] { display: none; } - -html { font-size: 100%; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } -body { margin: 0;} -body, button, input, select, textarea { font-family: sans-serif; color: #222; } - -a { color: #508B88; text-decoration: none;} -a:visited { color: #508B88; } -a:hover, a:focus { color: #f04530; } -a:focus { outline: thin dotted; } -a:hover, a:active { outline: 0; } - -abbr[title] { border-bottom: 1px dotted; } -b, strong { font-weight: bold; } -blockquote { margin: 1em 40px; } -dfn { font-style: italic; } -hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; } -ins { background: #ff9; color: #000; text-decoration: none; } -mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; } -pre, code, kbd, samp { font-family: "Source Code Pro", monospace; _font-family: 'courier new', monospace; font-size: 1em; } -pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; } -q { quotes: none; } -q:before, q:after { content: ""; content: none; } -small { font-size: 85%; } -sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } -sup { top: -0.5em; } -sub { bottom: -0.25em; } -ul, ol { margin: 1em 0; padding: 0 0 0 40px; } -dd { margin: 0 0 0 40px; } -nav ul, nav ol { list-style: none; list-style-image: none; margin: 0; padding: 0; } -img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; } -svg:not(:root) { overflow: hidden; } -figure { margin: 0; } - -form { margin: 0; } -fieldset { border: 0; margin: 0; padding: 0; } -label { cursor: pointer; } -legend { border: 0; *margin-left: -7px; padding: 0; } -button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; } -button, input { line-height: normal; *overflow: visible; } -table button, table input { *overflow: auto; } -button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; } -input[type="checkbox"], input[type="radio"] { box-sizing: border-box; } -input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; } -input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; } -button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; } -textarea { overflow: auto; vertical-align: top; resize: vertical; } -input:valid, textarea:valid { } -input:invalid, textarea:invalid { background-color: #f0dddd; } - -table { border-collapse: collapse; border-spacing: 0; } -td { vertical-align: top; } - -.clear { - clear: both; - content: ''; - display: block; -} - -.padder { - height: 140px; -} - -html, body { - height: 100%; - width: 100%; - background: #EEE; -} - -.main { - min-height: 38px; - overflow: hidden; - background: #ED4732; - background: linear-gradient(0deg, #DA421C, #DB5945); - box-shadow: 0 1px 2px rgba(0,0,0,0.3); - position: relative; -} - -.main #title { - display: none; -} - -.main #navtoggle { - display: block; - height: 25px; - width: 44px; - border-radius: 4px; - border: none; - margin: 6px 7px; - text-indent: -1000em; - box-shadow: 0 1px 1px rgba(255,255,255,0.6); - background: #531911; - background-image: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIg0KCSB3aWR0aD0iNDRweCIgaGVpZ2h0PSIyNXB4Ij4NCg0KPHJlY3QgeD0iMTEiIHk9IjciIGZpbGw9IiNEQjg3N0QiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyIiAvPg0KPHJlY3QgeD0iMTEiIHk9IjkiIGZpbGw9IiMwMDAwMDAiIHdpZHRoPSIyMiIgaGVpZ2h0PSIxIiAvPg0KDQo8cmVjdCB4PSIxMSIgeT0iMTEiIGZpbGw9IiNEQjg3N0QiIHdpZHRoPSIyMiIgaGVpZ2h0PSIyIiAvPg0KPHJlY3QgeD0iMTEiIHk9IjEzIiBmaWxsPSIjMDAwMDAwIiB3aWR0aD0iMjIiIGhlaWdodD0iMSIgLz4NCg0KPHJlY3QgeD0iMTEiIHk9IjE1IiBmaWxsPSIjREI4NzdEIiB3aWR0aD0iMjIiIGhlaWdodD0iMiIgLz4NCjxyZWN0IHg9IjExIiB5PSIxNyIgZmlsbD0iIzAwMDAwMCIgd2lkdGg9IjIyIiBoZWlnaHQ9IjEiIC8+DQoNCjwvc3ZnPg0K); - background-position: center center; - background-repeat: no-repeat; -} - -.main nav { - max-width: 1000px; - margin: 0 auto; -} - -.main nav { - display: none; - position: relative; - background: #333; - width: 100%; - z-index: 4; - padding-bottom: 100px; -} - -.main nav.active { - display: block; -} - -.main nav ul { - padding: 20px 0 0 17px; -} - -.main nav ul li { - font-family: Arial, sans-serif; - display: block; - text-transform: uppercase; - margin-right: 10px; - border-bottom: 1px solid #444; - text-shadow: 0 1px 1px rgba(0,0,0,0.3); - position: relative; -} - -.main nav ul li:after { - content: ''; - width: 100%; - height: 0; - position: absolute; - bottom: 0; - left: 0; - border-bottom: 1px solid #111; -} - -.main nav ul li a { - display: block; - color: #FFF; - opacity: 0.7; - font-size: 18px; - line-height: 50px; - font-weight: normal; -} - -.main nav ul li a:hover { - opacity: 1; -} - -/** active states for menu **/ -body[data-href="tutorials"] #tutorials_menu a { - opacity: 1; -} - -.masthead { - position: relative; - background: #3C3237; - height: 150px; -} - -.container { - width: 100%; - max-width: 1000px; - margin: 0 auto; - height: 100%; - position: relative; -} - -.masthead a { - display: block; - width: 100%; - height: 100%; -} - -.masthead .container #image { - position: absolute; - left: 0; - top: 25px; - background: url(/static/images/mastheads/h5r-shadow-small.png) center top no-repeat; - background-size: 100px 80px; - width: 44%; - height: 120px; - z-index: 2; -} - -.masthead .container { - background: radial-gradient(ellipse farthest-side at top, #73646E 0%, #3C3237 100%); -} - -.masthead .container h2:after { - content: ''; - position: absolute; - left: 0; - top: 0; - width: 50%; - height: 100%; - background: radial-gradient(ellipse farthest-side at bottom, rgba(115,100,110,1) 0%, rgba(115,100,110,0) 100%); - z-index: 0; -} - -.masthead .container h2 { - font-family: 'Open Sans'; - margin: 0; - padding: 0; - color: #FFF; - text-shadow: 0 2px 2px rgba(0, 0, 0, 0.4); -} - -.masthead .container span { - display: block; - position: absolute; - z-index: 1; -} - -.masthead .container span.large { - font-weight: 700; - text-transform: uppercase; - width: 65%; - left: 44%; - top: 71px; - font-size: 21px; -} - -.masthead .container span.small { - font-style: italic; - font-weight: 100; - left: 45%; - width: 45%; - top: 20px; - font-size: 13px; - color: #87BAB6; -} - -.masthead .container span.learnmore { - right: 5%; - top: 100px; - font-size: 12px; - color: #87BAB6; - font-weight: 700; - text-transform: uppercase; - border-bottom: 1px solid #87BAB6; -} - -.search { - position: relative; - width: 98%; - max-width: 1000px; - background: #FFF; - height: 54px; - box-shadow: 0 1px 2px rgba(0,0,0,0.3); - margin: 0 auto; - margin-top: -10px; - border: 2px solid #FFF; -} - -.search legend, .search label { - position: absolute; - clip: rect(1px,1px,1px,1px); -} - -.search #q { - width: 74%; - line-height: 54px; - padding: 0 10px; - font-size: 18px; - font-family: 'Open Sans'; - font-weight: bold; - color: #333; - height: 54px; - background: #E6E6E6; - box-shadow: inset 0 0 10px rgba(0,0,0,0.1); - border: none; - display: inline-block; - border-radius: 0; - -webkit-border-radius: 0; - -webkit-appearance: none; -} - -.search #search-button { - text-indent: -2000px; - overflow: hidden; - width: 7%; - right: 2%; - height: 54px; - min-width: 40px; - background: url(/static/images/home/search-button.jpg) center center no-repeat; - border: none; - position: absolute; -} -.divider { - padding-top: 15px; - margin-top: 15px; - position: relative; - display: block; - border-top: 1px solid #CBCBCB; -} - -.divider:before { - content: ''; - position: absolute; - top: 0px; - width: 100%; - border-top: 1px solid #FFF; -} - -.latest-articles { - margin-top: 25px; - width: 98%; - max-width: 1000px; - position: relative; - margin: 0 auto; - margin-bottom: 30px; - border-radius: 4px; - background: #FFF; - box-shadow: 0 1px 2px rgba(0,0,0,0.3); -} - -.latest-articles .container { - padding-bottom: 30px; -} - -.latest-articles .rss-feed, -.articles-list .rss-feed { - width: 28px; - height: 28px; - position: absolute; - right: 2%; - top: 1%; - text-indent: 30px; - font-size: 0; - overflow: hidden; - background: url(/static/images/rss.png); - background-size: 28px 28px; -} - -.latest-articles h2 { - font-family: 'Open Sans'; - font-size: 26px; - font-weight: 800; - color: #5FA49F; - margin: 0 0 0.8em 0; - padding: 0.7em 0 0 4%; -} - -.latest-articles ul { - margin: 0; - padding: 0; - float: left; -} - -.latest-articles ul li { - margin: 0 0 20px 0; - padding: 0 0 20px 0; - border-bottom: 1px solid #DDD; - list-style: none; - width: 100%; - background: #FFF; - display: block; - float: left; -} - -.latest-articles ul li:last-child { - border-bottom: none; - padding-bottom: 0; -} - -.latest-articles ul li a { - display: block; - background: #FFF; -} - -.latest-articles .left { - display: block; - float: left; - width: 13%; - min-width: 70px; - padding-left: 4%; -} - -.latest-articles .right { - display: block; - float: left; - width: 70%; - margin: 0 0 0 1%; -} - -.latest-articles .author img { - border: 2px solid #FFF; - box-shadow: 0 1px 1px rgba(0,0,0,0.3); -} - -.latest-articles .title { - color: #333; - font-size: 15px; - font-family: 'Open Sans'; - font-weight: 800; - display: block; - margin-bottom: 0.6em; - transition: color 0.3s ease-out; -} - -.latest-articles a:hover .title { - color: #666; -} - -.latest-articles .description { - color: #666; - font-size: 13px; - line-height: 1.3; -} - -.landing-pages { - width: 98%; - max-width: 1000px; - position: relative; - margin: 0 auto; - background: #FFF; - box-shadow: 0 1px 2px rgba(0,0,0,0.3); - border-radius: 4px; -} - -.landing-pages .panel { - margin: 0 0 20px 0; - padding: 0 0 20px 0; - border-bottom: 1px solid #DDD; -} - -.landing-pages .panel:last-child { - border-bottom: none; - padding-bottom: 0; -} - -.landing-pages .panel .left { - width: 13%; - min-width: 75px; - min-height: 50px; - padding-left: 4%; - float: left; - display: block; -} - -.landing-pages .panel .icon { - width: 66px; - height: 66px; - background: url(data:image/jpeg;base64,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); - background-size: 197.5px 65.5px; - margin-top: 20px; -} - -.landing-pages .panel.performance .icon { - background-position: -264.5px 0; -} - -.landing-pages .panel .right { - width: 70%; - float: left; - display: block; - margin: 0 0 0 1%; -} - -.landing-pages .panel a { - display: block; -} - -.landing-pages .panel h2 { - color: #333; - font-size: 28px; - font-family: 'Open Sans'; - font-weight: 300; - display: block; - margin-bottom: 0.6em; - transition: color 0.3s ease-out; -} - -.landing-pages .panel p { - color: #666; - font-size: 13px; - line-height: 1.4; -} - -.google-project { - color: #444; - margin-top: 20px; - padding-top: 40px; - text-shadow: 0 1px 1px rgba(255,255,255,0.5); - text-align: center; - border-top: 1px solid #CBCBCB; - font-size: 14px; - position: relative; -} - -.google-project:after { - content: ''; - border-top: 1px solid #FFF; - position: absolute; - top: 0; - left: 0; - width: 100%; -} - -kbd, .kbd { - padding: 0.1em 0.6em; - border: 1px solid rgb(204, 204, 204); - font-family: Arial,Helvetica,sans-serif; - background-color: rgb(247, 247, 247); - color: rgb(51, 51, 51); - box-shadow: 0 1px 0px rgba(0, 0, 0, 0.2),0 0 0 2px rgb(255, 255, 255) inset; - border-radius: 3px; - display: inline-block; - margin: 0 0.1em; - text-shadow: 0 1px 0 rgb(255, 255, 255); - line-height: 1.5; - white-space: nowrap; -} - -@media screen and (min-width: 430px) { - .divider { - padding-top: 25px; - margin-top: 25px; - } - - .masthead .container span.large { - font-size: 21px; - top: 69px; - left: 56%; - } - - .masthead .container span.small { - font-size: 15px; - } -} - -@media screen and (min-width: 500px) { - - .masthead { - height: 198px; - } - - .masthead .container #image { - background: url(/static/images/mastheads/h5r-shadow.png) center top no-repeat; - background-size: 177px 140px; - width: 35%; - height: 140px; - top: 20px; - left: 17px; - } - - .masthead .container span.small { - top: 35px; - font-size: 17px; - } - - .masthead .container span.large { - top: 88px; - font-size: 31px; - left: 46%; - } - - .masthead .container span.learnmore { - top: 135px; - font-size: 17px; - } - - .search { - border: none; - width: 96%; - padding: 2%; - } - - .search #q { - width: 85%; - } -} - -@media screen and (min-width: 620px) { - - .latest-articles h2 { - padding-left: 2%; - } - - .latest-articles ul { - padding: 0 0 0 2%; - } - - .latest-articles ul li { - width: 47.5%; - height: 140px; - margin: 0 2% 20px 0; - } - - .latest-articles .left { - width: 20%; - padding: 0; - } - - .latest-articles .right { - width: 71%; - } - - .landing-pages { - width: 98%; - padding: 0; - box-shadow: none; - border-radius: 0; - background: none; - } - - .landing-pages .panel { - width: 45%; - height: 180px; - margin: 0 2% 20px 0; - padding: 2%; - float: left; - border: none; - background: #FFF; - border-radius: 4px; - box-shadow: 0 1px 1px rgba(0,0,0,0.3); - } - - .landing-pages .panel:nth-child(2) { - margin: 0 0 20px 0; - padding-bottom: 2%; - } - - .landing-pages .panel .left { - width: 20%; - padding: 0; - } - - .landing-pages .panel .right { - width: 71%; - } -} - -@media screen and (min-width: 700px) { - - .main { - min-height: 50px; - } - - .main #navtoggle { - display: none; - } - - .main nav { - display: block; - background: none; - position: relative; - top: 0; - left: 0; - right: auto; - bottom: auto; - padding-bottom: 0; - } - - .main nav ul { - padding: 0 17px; - } - - .main nav ul li { - display: inline; - line-height: 50px; - border-bottom: none; - } - - .main nav ul li:after { - display: none; - } - - .main nav ul li a { - font-size: 14px; - display: inline; - } - - .masthead .container span.large { - left: 45%; - top: 77px; - font-size: 43px; - } - - .masthead .container span.small { - width: 55%; - left: 38%; - top: 32px; - font-size: 20px; - } -} - -@media screen and (min-width: 735px) { - .latest-articles .right { - width: 78%; - } -} - -@media screen and (min-width: 770px) { - .masthead { - height: 408px; - } - - .masthead .container #image { - background-size: 245px 194px; - width: 245px; - height: 194px; - top: 70px; - left: 5%; - } - - .masthead .container span.large { - font-size: 48px; - top: 162px; - left: 49%; - } - - .masthead .container span.small { - font-size: 26px; - top: 80px; - width: 50%; - left: 43%; - } - - .masthead .container span.learnmore { - font-size: 22px; - top: 240px; - } - - .masthead .container span.learnmore:after { - content: ' →'; - } - - .search { - margin-top: -33px; - width: 98%; - padding: 1%; - } - - .search #q { - width: 88%; - } -} - -@media screen and (min-width: 915px) { - - .latest-articles ul li { - width: 31%; - height: 140px; - margin: 0 2% 20px 0; - border-bottom: none; - } - - .latest-articles .right { - width: 73%; - } - - .landing-pages .panel .icon { - margin-left: 7px; - } -} - -@media screen and (min-width: 1000px) { - .masthead .container #image { - top: 75px; - } - - .masthead .container span.large { - font-size: 70px; - top: 164px; - left: 40%; - width: 64%; - line-height: 1.05; - letter-spacing: -3px; - } - - .masthead .container span.small { - font-size: 28px; - top: 100px; - left: 34%; - width: 60%; - } - - .search { - border-radius: 4px; - padding: 0; - height: 74px; - } - - .search #q { - width: 88%; - margin: 1%; - } - - .search #search-button { - right: 1%; - margin-top: 9px; - } - - .landing-pages { - width: 98%; - } - - .latest-articles .rss-feed { - top: 2%; - right: 1%; - } - - .landing-pages .panel .icon { - margin-left: 9px; - } -} -.article { - background: #EEE; -} - -.article table { - width: 100%; - margin-bottom: 1em; -} - -.article table, -.article tr, -.article td { - word-wrap: break-word; -} - -.article .title { - background: #F2F2F2; - background: radial-gradient(circle farthest-side at center, #FFF 0%, #DAE4E4 100%);; -} - -.article .watermark { - display: none; - position: absolute; - top: 50%; - left: 10px; - margin-top: -72px; - width: 68px; - height: 116px; - text-indent: -100em; - opacity: 0.75; - transition: opacity 0.3s ease-out; - overflow: hidden; - background-image: url(data:image/png;base64,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); - background-repeat: no-repeat; - background-position: center; - z-index: 3; -} - -.article .watermark:hover { - opacity: 1; -} - -.article .divider { - display: none; -} - -.article .title h1 { - color: #333; - text-shadow: 0 1px 2px rgba(255,255,255,0.7); - font-size: 28px; - font-family: 'Open Sans'; - font-weight: 600; - line-height: 1.1; - letter-spacing: -0.06em; - margin: 0 auto; - width: 70%; - padding-right: 10%; - position: relative; - - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: antialiased; -} - -.article .title h2 { - font-size: 15px; - z-index: 2; - color: #666; - border: none; - text-shadow: 0 1px 1px rgba(255,255,255,0.8); - font-weight: 300; - padding: 7px 14px; - margin: 0 auto; - width: 80%; -} - -.article .title-text { - padding: 15px 0; -} - -.article .title-text:after { - content: ''; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - z-index: 0; - pointer-events: none; - background: radial-gradient(circle farthest-side at top, rgba(255,255,255,0.45) 0%, rgba(255,255,255,0) 100%); -} - -.article .byline { - margin-bottom: 34px; -} - -.article .byline .translator, -.article .byline .date time, -.article .byline .date span { - display: block; -} - -.article .byline .date:last-child { - margin-right: 0; - padding-bottom: 30px; -} - -.article .byline a, -.article .byline a:visited { - color: #555; - text-decoration: underline; -} - -.article .byline a:visited { - color: #777; -} - -.article .author-images { - text-align: center; -} - -.article .author-images img { - width: 80px; - border: 3px solid #FFF; - box-shadow: 0 1px 2px rgba(0,0,0,0.4); - border-radius: 100%; - position: relative; -} - -.article .author-images a { - margin-right: 10px; - display: inline-block; - height: 86px; - width: 86px; -} - -.article .meta { - font-weight: 400; - padding-top: 2px; - text-align: center; - - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: antialiased; -} - -.article .meta strong { - font-weight: 800; -} - -.article .meta .authors { - font-size: 16px; - padding-bottom: 6px; - color: #444; -} - -.article .content-wrapper { - position: relative; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-size: 16px; - line-height: 1.5; - color: #555; - word-wrap: break-word; - background: #FFF; - box-shadow: 0 2px 2px rgba(0,0,0,0.25); - - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: antialiased; -} - -.article .content-wrapper:after { - content: ''; - position: absolute; - top: 3px; - left: 0; - height: 30px; - width: 100%; - background: linear-gradient(0deg, #FFF, #F6F9F9); -} - -body.locked.article .content-wrapper:after { - display: none; -} - -.article .content-wrapper .container { - padding: 30px 0 60px 0; - width: 100%; - max-width: 975px; -} - -.article .content-wrapper .content { - width: 87%; - margin: 0 auto; - max-width: 660px; - position: relative; -} - -.article header .toc, -.article .article-meta { - display: none; -} - -.article header .toc.active { - width: 100%; - background: #333; - display: block; - z-index: 10; - padding-bottom: 100px; -} - -.article header .toc.active h1 { - display: none; -} - -.article header .toc.active h1.visible-title { - display: block; - margin: 1.5em 0 -20px 0; - padding: 0 0 0 17px; - font-size: 18px; - color: #FFF; -} - -.article header .toc.active ul:first-of-type { - padding: 20px 17px 0 17px; -} - -.article header .toc.active ul li { - display: block; - text-transform: uppercase; - margin-right: 10px; - border-bottom: 1px solid #444; - text-shadow: 0 1px 1px rgba(0,0,0,0.3); - position: relative; - padding-left: 0; - background: none; - font-family: Arial, sans-serif; -} - -.article header .toc.active ul li:after { - content: ''; - width: 100%; - height: 0; - position: absolute; - bottom: 0; - left: 0; - border-bottom: 1px solid #111; -} - -.article header .toc.active ul li a { - display: block; - color: #FFF; - opacity: 0.7; - font-size: 18px; - transition: opacity 0.2s ease-out; - text-decoration: none; -} - -.article header .toc.active ul li a:hover { - opacity: 1; -} - -.article #toctoggle { - position: absolute; - top: 6px; - right: 7px; - display: block; - height: 25px; - border: none; - padding: 0 10px; - color: #FFF; - text-shadow: 0 1px 0 #000; - font-size: 14px; - line-height: 25px; - text-decoration: none; - font-weight: 800; - z-index: 10; - opacity: 0.75; -} - -.article #toctoggle:hover { - color: #FFF; - opacity: 1; -} - -.article .content-wrapper section { - display: block; - margin: 0 auto; -} - -.article .content-wrapper a { - text-decoration: underline; -} - -.article .content-wrapper button a { - text-decoration: none; - color: #FFF; -} - -.article .content-wrapper button { - background: #333; - color: #FFF; - border-radius: 4px; - border: none; - padding: 10px 14px; -} - -.article .content-wrapper .notice { - clear: both; - padding: 0.8em 0.7em; - margin: 1em 0; - border-top: 1px dotted #CBCBCB; - border-bottom: 1px dotted #CBCBCB; - color: #333; - font-style: italic; -} - - - -.article .content-wrapper .fact, -.article .content-wrapper .tip, -.article .content-wrapper .warning { - position: relative; - margin: 2em 0 1.5em 0; -} - -.article .content-wrapper .fact:before, -.article .content-wrapper .tip:before, -.article .content-wrapper .warning:before { - font-size: 16px; - padding: 2px 7px 3px 7px; - - content: 'Fact!'; - background: #59B200; - line-height: 24px; - color: #FFF; - position: absolute; - left: 0; - top: 0; - box-shadow: 0 2px 4px rgba(0,0,0,0.2); - border-radius: 2px; - - -webkit-transform: rotate(-5deg) translateX(-10px) translateY(-25px); - -moz-transform: rotate(-5deg) translateX(-10px) translateY(-25px); - -ms-transform: rotate(-5deg) translateX(-10px) translateY(-25px); - -o-transform: rotate(-5deg) translateX(-10px) translateY(-25px); - transform: rotate(-5deg) translateX(-10px) translateY(-25px); -} - -.article .content-wrapper .warning { - color: #ED4732; - border-top: 1px dotted #ED4732; - border-bottom: 1px dotted #ED4732; -} - -.article .content-wrapper .warning:before { - content: 'Heads up!'; - background: #ED4732; -} - -.article .content-wrapper .fact { - border-top: 1px dotted #59B200; - border-bottom: 1px dotted #59B200; - background: #FCFFFA; -} - -.article .content-wrapper .fact strong, -.article .content-wrapper .fact b { - color: #59B200; -} - -.article .content-wrapper .tip { - border-top: 1px dotted #00A3D9; - border-bottom: 1px dotted #00A3D9; - background: #FAFEFF; -} - -.article .content-wrapper .tip strong, -.article .content-wrapper .tip b { - color: #00A3D9; -} - -.article .content-wrapper .tip:before { - content: 'Tip!'; - background: #00A3D9; -} - -.article p { - margin: 0.4em 0 0.8em 0; -} - - -.article h2, -.article h3, -.article h4, -.article h5 { - color: #333; - font-family: 'Open Sans'; - font-weight: 600; - margin: 1.3em 0 0.7em 0; - clear: both; - max-width: 85%; -} - -.article h1 { - font-size: 150%; -} - -.article h2 { - font-size: 135%; -} - -.article h3 { - font-size: 120%; -} - -.article h4 { - font-size: 110%; -} - -.article h5 { - font-size: 105%; -} - -.article p code, -.article table code { - font-size: 0.9em; - color: #333; -} - -.article figure { - text-align: center; - display: block; - margin-bottom: 1em; -} - - .article img, -.article figure img { - max-width: 100%; - box-sizing: border-box; -} - -.article img.bordered { - outline: 1px solid #CCC; -} - -.article figcaption { - color: #333; - font-weight: bold; - font-size: 15px; - font-style: italic; - margin: 1em auto 2em auto; - width: 80%; -} - -.article blockquote { - color: #4A7E7B; - font-style: italic; - padding: 0.9em 0.7em 1.2em 0.7em; - margin: 1.5em 0; - font-weight: 400; - position: relative; - box-sizing: border-box; - border-top: 1px dotted #4A7E7B; - border-bottom: 1px dotted #4A7E7B; - line-height: 1.4; -} - -.article blockquote cite { - position: absolute; - bottom: -0.75em; - right: 0; - line-height: 30px; - font-size: 20px; - color: #999; - background: #FFF; - padding: 0 20px; -} - -.article blockquote cite:before { - content: '- '; -} - -.article blockquote.talkinghead { - padding-left: 80px; -} - -.article blockquote.talkinghead:before { - content: ''; - border-radius: 100%; - width: 50px; - height: 50px; - position: absolute; - margin-top: -28px; - top: 50%; - left: 10px; - background-position: center center !important; - background-size: 50px 50px !important; - border: 2px solid #FFF; - box-shadow: 0 2px 2px rgba(0, 0, 0, 0.4); -} - -.article blockquote:after, -.article blockquote:before { - clear: both; -} - -.article footer { - color: #DDD; - font-size: 16px; - padding-top: 60px; - min-height: 130px; - background: #444; - position: relative; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: antialiased; -} - -.article footer .container { - width: 90%; - margin: 0 auto; -} - -.article footer p.licensing { - width: 60%; - margin: 0 auto; - color: #777; - text-align: center; - clear: both; - font-size: 13px; - padding-bottom: 40px; -} - -.article footer a { - color: #999; -} - -.article footer a:hover { - color: #FFF; -} - -.article footer:after { - position: absolute; - content: ''; - top: 10px; - left: 0; - width: 100%; - height: 0; - border-bottom: 1px dashed #8F8F8F; -} - -#article-meta { - -webkit-transition: opacity 1s ease-in-out; - -moz-transition: opacity 1s ease-in-out; - -ms-transition: opacity 1s ease-in-out; - -o-transition: opacity 1s ease-in-out; - transition: opacity 1s ease-in-out; - opacity: 0.999999; -} - -#article-meta.sticky { - -webkit-backface-visibility: hidden; - position: fixed !important; - top: 22px; - bottom: 22px; - left: 50%; - margin-left: -467px; - opacity: 0.3; - overflow-x: hidden; - overflow-y: auto; - -webkit-transition: opacity 5s ease-in-out; - -moz-transition: opacity 5s ease-in-out; - -ms-transition: opacity 5s ease-in-out; - -o-transition: opacity 5s ease-in-out; - transition: opacity 5s ease-in-out; -} - -#article-meta.sticky:hover { - -webkit-transition: opacity 0.3s ease-out; - -moz-transition: opacity 0.3s ease-out; - -ms-transition: opacity 0.3s ease-out; - -o-transition: opacity 0.3s ease-out; - transition: opacity 0.3s ease-out; - opacity: 0.999999; -} - -.article .article-meta .toc, -.article aside.localizations { - font-size: 15px; - margin-bottom: 30px; -} - -.article .article-meta .toc a, -.article aside.localizations a { - color: #666; - text-decoration: none; -} - -.article .article-meta .toc a:hover, -.article aside.localizations a:hover { - color: #333; - text-decoration: underline; -} - -.article .article-meta h1 { - font-size: 15px; - font-weight: 700; - border-bottom: 1px solid #DDD; - margin: 0 0 0.6em 0; - padding: 0 0 5px 0; -} - -.article .article-meta ul, -.article .article-meta li, -.article footer .panel ul, -.article footer .panel li { - list-style: none; - padding: 0; - margin: 0; -} - -.article .article-meta li, -.article footer .panel li { - padding-left: 20px; - background: url(data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIg0KCSB3aWR0aD0iOXB4IiBoZWlnaHQ9IjlweCI+DQo8cmVjdCB5PSIzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iIzVGQTQ5RiIgd2lkdGg9IjkiIGhlaWdodD0iMyIvPg0KPHJlY3QgeD0iMyIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiM1RkE0OUYiIHdpZHRoPSIzIiBoZWlnaHQ9IjkiLz4NCjwvc3ZnPg0K); - background-repeat: no-repeat; - background-position: 3px 5px; - line-height: 1.4; - padding-bottom: 0.4em; -} - -.article footer .panel li a { - color: #666; -} - -.article nav.toc ul li ul { - display: none; -} - -.article footer h1, -.article footer h2 { - font-family: 'Open Sans'; - font-weight: 800; - font-size: 38px; - color: #FFF; - margin: 0 0 1em 0; -} - -.article footer h2 { - line-height: 28px; - font-size: 22px; - color: #AAA; - margin: 0 0 0.6em 0; -} - -.article footer .panel { - margin: 0 0 30px 0; - padding: 0 0 40px 0; - border-bottom: 1px solid #5F5F5F; -} - -.article footer .panel ul, -.article footer .panel li { - font-size: 16px; - margin-bottom: 5px; - list-style: none; - color: #FFF; - line-height: 1.2; - background-position: 3px 6px; -} - -.article footer .panel li a { - color: #DDD; - text-decoration: underline; -} - -.article footer .panel li a:hover { - color: #FFF; -} - -.article footer .panel.share a { - margin-right: 14px; - display: inline-block; - width: 48px; - height: 48px; - background-image: url(/static/images/icons.png); - background-size: 296px 56px; - background-repeat: no-repeat; - text-indent: -100em; - overflow: hidden; - font-size: 0; -} - -.article footer .panel.share a.twitter { - background-position: -160px 0; -} - -.article footer .panel.share a.facebook { - background-position: -80px 0; -} - -.article footer .panel.share a.gplus { - background-position: 0 0; -} - -.article footer .panel.rss h2 { - padding-left: 40px; - background-image: url(/static/images/icons.png); - background-size: 148px 28px; - background-repeat: no-repeat; - background-position: -120px 0; -} - -.article footer .panel a { - text-decoration: underline; - color: #FFF; -} - -.error-block { - padding: 7px; - font-size: 90%; - background: #FFF; - border-bottom: 1px solid #DDD; - color: #7A7A7A; - text-align: center; - box-sizing: border-box; -} - -.error-block p { - margin: 0 auto; - width: 75%; -} - -#notcompatible { - color: #666; - text-align: center; - font-size: 80%; - font-weight: 600; - padding: 1em 0; - margin: 0 auto; - width: 75%; -} - -#notcompatible.hidden { - display: none; -} - -#disqus { - margin: 40px auto 40px auto; -} - -#disqus.active { - background: #FFF; - border-radius: 4px; - box-shadow: 0 1px 2px rgba(0,0,0,0.3); -} - -#disqus h2 { - width: 80%; - margin: 0 auto; - padding: 1.5em 0 0.4em 0; - display: none; -} - -#disqus.active h2 { - display: block; -} - -#disqus_thread { - width: 80%; - margin: 0 auto; - padding: 40px 0; - text-align: center; -} - -#disqus .load-comments { - display: inline-block; - font-size: 20px; - font-weight: 300; - font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; - text-decoration: underline; - padding: 20px 90px 20px 40px; - border: 1px solid #DDD; - background: #FFF; - border-radius: 42px; - height: 45px; - line-height: 45px; - background-image: url(data:image/png;base64,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); - background-repeat: no-repeat; - background-position: 97% center; - - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: antialiased; -} - -#disqus .load-comments:after { - content: ' comments.'; -} - -pre.prettyprint, code.prettyprint { - color: white; - background-color: #444; - padding: 1em; - line-height: 1.3; - font-size: 15px; - border-radius: 2px; - margin-bottom: 2em; -} - -pre.prettyprint.small { - padding: 0.5em; -} - -.article .content-wrapper a.tooltip { - text-decoration: none; -} - -pre .tooltip { - position: relative; - cursor: pointer; -} - -pre .tooltip .property { - border-bottom: 1px dotted #fff; -} - -pre .tooltip .property .kwd { - color: #508B88; -} - -pre .tooltip:hover:after { - content: attr(data-tooltip); - position: absolute; - background: rgba(0, 0, 0, 0.85); - padding: 5px 9px; - color: #fff; - border-radius: 3px; - left: 0; - top: 25px; - width: 390px; - z-index: 100; -} - -/* Pretty printing styles. Used with prettify.js. */ -/* Vim sunburst theme by David Leibovic */ - -pre .str, code .str { color: #65B042; } /* string - green */ -pre .kwd, code .kwd { color: #E28964; } /* keyword - dark pink */ -pre .com, code .com { color: #AEAEAE; font-style: italic; } /* comment - gray */ -pre .typ, code .typ { color: #89bdff; } /* type - light blue */ -pre .lit, code .lit { color: #3387CC; } /* literal - blue */ -pre .pun, code .pun { color: #fff; } /* punctuation - white */ -pre .pln, code .pln { color: #fff; } /* plaintext - white */ -pre .tag, code .tag { color: #89bdff; } /* html/xml tag - light blue */ -pre .atn, code .atn { color: #bdb76b; } /* html/xml attribute name - khaki */ -pre .atv, code .atv { color: #65B042; } /* html/xml attribute value - green */ -pre .dec, code .dec { color: #3387CC; } /* decimal - blue */ - -@media (min-width: 450px) { - - .article .content-wrapper .warning { - margin: 30px 0; - } - - .article .title h1 { - font-size: 36px; - } - -} - -@media (min-width: 570px) { - - .article .author-images, - .article .meta { - float: left; - text-align: left; - } - - .article .author-images img, - .article .author-images a { - width: 80px; - height: 80px; - } - - .article .author-images a:last-of-type { - margin-right: 25px; - } - - .article .divider { - display: block; - } - - .article .title h1 { - font-size: 40px; - } - - .article .byline .translator, - .article .byline .date time, - .article .byline .date span { - font-size: 15px; - } - - .article .content-wrapper { - font-size: 17px; - } - - .article blockquote.talkinghead { - padding-left: 100px; - } - - .article blockquote.talkinghead:before { - width: 60px; - height: 60px; - left: 10px; - margin-top: -31px; - background-position: center center !important; - background-size: 60px 60px !important; - border: 2px solid #FFF; - } - - .article .content-wrapper .container { - padding: 60px 0 60px 0; - } - - body.locked.article .content-wrapper .container { - padding: 0; - } - - .article .title-text { - padding: 25px 0; - } - - .article footer .panel li { - font-size: 20px; - margin-bottom: 10px; - } - - #notcompatible { - width: auto; - text-align: left; - font-size: 80%; - } -} - -@media (min-width: 700px) { - .article #toctoggle { - text-transform: uppercase; - text-shadow: 0 1px 1px rgba(0,0,0,0.3); - line-height: 50px; - font-size: 14px; - top: 0; - font-weight: normal; - } - - .article .content-wrapper .fact:before, - .article .content-wrapper .tip:before, - .article .content-wrapper .warning:before { - font-size: 20px; - padding: 4px 7px 5px 7px; - - -webkit-transform: rotate(-5deg) translateX(-25px) translateY(-25px); - -moz-transform: rotate(-5deg) translateX(-25px) translateY(-25px); - -ms-transform: rotate(-5deg) translateX(-25px) translateY(-25px); - -o-transform: rotate(-5deg) translateX(-25px) translateY(-25px); - transform: rotate(-5deg) translateX(-25px) translateY(-25px); - } - - .article header .toc.active h1.visible-title { - margin-bottom: 0; - } - - .main nav.toc.active ul li:after { - display: block; - } -} - -@media (min-width: 750px) { - - .article footer .panel { - width: 31%; - margin-right: 3%; - float: left; - display: block; - border-bottom: none; - } - - .article footer .panel:last-of-type { - margin-right: 0; - } - - .article .title h1 { - font-size: 46px; - } - - .article .title-text { - padding: 45px 0; - } - - .article .author-images { - margin: 5px 0 0 0; - } - - .article .author-images, - .article .meta { - display: inline-block; - float: left; - } - - #disqus .load-comments:before { - content: 'There are '; - } - - #disqus .load-comments:after { - content: ' comments. Want to add yours?'; - } - - .article .content-wrapper .container { - padding: 90px 0 120px 0; - } -} - -@media (min-width: 1000px) { - - .article .author-images { - margin: -10px 0 0 0; - } - - .article .author-images a { - height: 86px; - width: 86px; - } - - .article .author-images img { - width: 80px; - height: 80px; - } - - .article .watermark { - display: block; - } - - .article .title h1 { - font-size: 56px; - } - - .article .title-text { - padding: 55px 0; - } - - .article .meta { - font-size: 15px; - } - - .article .meta .authors { - font-size: 17px; - } - - .article .content-wrapper .content { - max-width: 660px; - position: relative; - margin-left: 315px; - } - - .article .content-wrapper.wide .content { - margin: 0 auto; - max-width: 800px; - } - - .article .article-meta { - position: absolute; - width: 260px; - top: 100px; - left: 20px; - right: auto; - bottom: auto; - font-size: 15px; - display: block; - background: none; - } - - .article header .toc.active { - display: none; - } - - .article .article-meta.active .localizations, - .article .article-meta .localizations { - display: block; - } - - .article #toctoggle { - display: none; - } - - .article .content-wrapper, - .article .content-wrapper .notice { - font-size: 18px; - } - - .article blockquote { - clear: both; - } - - .article blockquote.talkinghead { - padding-left: 120px; - } - - .article blockquote.talkinghead:before { - width: 65px; - height: 65px; - left: 20px; - margin-top: -38px; - background-position: center center !important; - background-size: 65px 65px !important; - border: 3px solid #FFF; - } - - .article .title h2 { - width: 80%; - font-size: 20px; - bottom: 45px; - } - - .article .content-wrapper .fact:before, - .article .content-wrapper .tip:before { - font-size: 22px; - padding: 5px 8px 6px 8px; - - -webkit-transform: rotate(-5deg) translateX(-25px) translateY(-25px); - -moz-transform: rotate(-5deg) translateX(-25px) translateY(-25px); - -ms-transform: rotate(-5deg) translateX(-25px) translateY(-25px); - -o-transform: rotate(-5deg) translateX(-25px) translateY(-25px); - transform: rotate(-5deg) translateX(-25px) translateY(-25px); - } -} - -@media print { - - html, body, .article { - background: #FFF; - } - - .main { - display: none; - } - - .article .content-wrapper { - box-shadow: none; - } - - .article .title { - background: none; - } - - .article .title-text:after, - .article .content-wrapper:after { - display: none; - } - - .article .content-wrapper .container { - padding: 0 0 60px 0; - } - - .article .author-images img { - border: none; - box-shadow: none; - border-radius: 0; - } - - #notcompatible { - display: none; - } - - .article .title h1, - .article .title h2 { - padding: 0; - margin: 0; - width: 100%; - } - - .disqus, footer { - display: none; - } -} -.listing.article .content-wrapper { - line-height: 1.2; -} - -.listing .pager { - font-size: 18px; - margin: 0 0 2em 0; - text-align: center; -} - -.listing.article .content-wrapper section.search { - margin: -2em 0 1em 0; - z-index: 2; -} - -.articles-list { - position: relative; -} - -.articles-list ul { - list-style: none; - padding: 0; - margin: 0; -} - -.articles-list ul li { - margin: 0 0 20px 0; - padding: 20px 0 20px 0; - border-top: 1px solid #DDD; - list-style: none; - width: 100%; - background: #FFF; - display: block; - float: left; -} - -.articles-list ul li:nth-child(1), -.articles-list ul li:nth-child(2) { - border-top: none; - padding-top: 0; -} - -.articles-list ul li:last-child { - border-bottom: none; - padding-bottom: 0; -} - -.articles-list ul li a { - display: block; - background: #FFF; -} - -.articles-list .left { - display: block; - float: left; - width: 7%; - min-width: 70px; - padding-left: 4%; -} - -.articles-list .right { - display: block; - float: left; - width: 70%; - margin: 0 0 0 1%; -} - -.articles-list .author img { - border: 2px solid #FFF; - box-shadow: 0 1px 1px rgba(0,0,0,0.3); -} - -.articles-list .title { - background: none; - color: #333; - font-size: 17px; - font-family: 'Open Sans'; - font-weight: 800; - display: block; - margin-bottom: 0.6em; - transition: color 0.3s ease-out; -} - -.articles-list .date { - display: block; - margin-bottom: 0.4em; - line-height: 1; - color: #666; - font-size: 14px; - font-weight: 600; -} - -.articles-list a:hover .title { - color: #666; -} - -.articles-list .description { - color: #666; - font-size: 15px; - line-height: 1.2; - display: block; - margin-bottom: 0.6em -} - -.articles-list .tag { - font-size: 12px; - text-transform: uppercase; - margin-right: 5px; -} - -@media (max-width: 999px) { - .listing.article .title h1 { - width: 100%; - padding-left: 4%; - } -} - -@media (min-width: 1000px) { - .articles-list .left { - padding-left: 2%; - } - - .articles-list ul li { - float: left; - width: 48%; - } - - .articles-list ul li:nth-child(2n+1) { - clear: left; - margin-right: 3%; - } -} \ No newline at end of file diff --git a/demo/change-projection/zoomin-zoomout/cbmt-changeProjection.mapml b/demo/change-projection/zoomin-zoomout/cbmt-changeProjection.mapml deleted file mode 100644 index 83b4ccc8d..000000000 --- a/demo/change-projection/zoomin-zoomout/cbmt-changeProjection.mapml +++ /dev/null @@ -1,17 +0,0 @@ - - - Canada Base Map - Transportation (CBMT) - - - - - - - - - - - - - - diff --git a/demo/custom/bootstrap-ui.html b/demo/custom/bootstrap-ui.html deleted file mode 100644 index e5ea560fe..000000000 --- a/demo/custom/bootstrap-ui.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - Using Bootstrap - - - - - - - - -
-
-
-

Layers

-
- -
-
-
-
- - - - - - -
- -
-
- -
-
-
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/demo/custom/custom-css-ui.html b/demo/custom/custom-css-ui.html deleted file mode 100644 index e5ea560fe..000000000 --- a/demo/custom/custom-css-ui.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - Using Bootstrap - - - - - - - - -
-
-
-

Layers

-
- -
-
-
-
- - - - - - -
- -
-
- -
-
-
-
-
-
- - - - - - - - \ No newline at end of file diff --git a/demo/custom/custom-ui.js b/demo/custom/custom-ui.js deleted file mode 100644 index 478166ad0..000000000 --- a/demo/custom/custom-ui.js +++ /dev/null @@ -1,79 +0,0 @@ -CustomUI = { - initialize: function () { - let layers = document.querySelectorAll("layer-"); - let map = document.querySelector("mapml-viewer"); - - let mapObserver = new MutationObserver((m) => { - m.forEach((mut) => { - if (mut.type === "childList") { - mut.addedNodes.forEach((l) => { - if (l.tagName === "LAYER-") { - CustomUI.addLayer(l); - } - }); - } - }); - }); - - mapObserver.observe(map, { childList: true }); - - for (let i = 0; i < layers.length; i++) { - CustomUI.addLayer(layers[i]); - } - }, - addLayer: function (layerEl) { - let layer = document.createElement("button"); - - layer.classList.add("btn"); - layer.innerHTML = layerEl.label; - if (layerEl.checked) layer.classList.add("btn-info"); - - layer.toggleChecked = layerEl.toggleChecked; - layer.addEventListener("click", function (e) { - if (layerEl.checked) { - layerEl.removeAttribute("checked"); - layer.classList.remove("btn-info"); - layer.classList.add("btn-light"); - - } else { - layerEl.setAttribute("checked", ""); - layer.classList.add("btn-info"); - layer.classList.remove("btn-light"); - } - }); - - let observer = new MutationObserver((m) => { - m.forEach((mut) => { - if (mut.type === "attributes") { - if (mut.attributeName === "disabled") { - if (mut.target.disabled) { - layer.setAttribute("disabled", ""); - } else { - layer.removeAttribute("disabled"); - } - } - if (mut.attributeName === "label") { - layer.innerHTML = layerEl.label; - } - } - }); - }); - observer.observe(layerEl, { attributes: true }); - - document.getElementById("layers").appendChild(layer); - }, - zoomIn: function () { - let map = document.getElementById("custom-map"), - lat = +map.lat, - lon = +map.lon, - zoom = +map.zoom + 1; - map.zoomTo(lat, lon, zoom); - }, - zoomOut: function () { - let map = document.getElementById("custom-map"), - lat = +map.lat, - lon = +map.lon, - zoom = +map.zoom - 1; - map.zoomTo(lat, lon, zoom); - }, -} \ No newline at end of file diff --git a/demo/custom/index.html b/demo/custom/index.html deleted file mode 100644 index 1bda7b278..000000000 --- a/demo/custom/index.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - custom-ui home - - - - - - - - - - - - - - - - - \ No newline at end of file From 357323c3fa587acc774ea20ea2314341dd76ba37 Mon Sep 17 00:00:00 2001 From: Peter Rushforth Date: Thu, 6 May 2021 22:18:24 -0400 Subject: [PATCH 4/9] Update continuous integration to only execute on pull requests, remove push --- .github/workflows/ci-testing.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-testing.yml b/.github/workflows/ci-testing.yml index 0d9e6406f..3d5b1eb38 100644 --- a/.github/workflows/ci-testing.yml +++ b/.github/workflows/ci-testing.yml @@ -1,6 +1,6 @@ name: Continuous Testing -on: [push, pull_request] +on: [pull_request] jobs: build: From 5c4d546e130bdc6e42bb4056017079c019dbbd04 Mon Sep 17 00:00:00 2001 From: Peter Rushforth Date: Mon, 17 May 2021 21:36:12 -0400 Subject: [PATCH 5/9] Add role='application' to FeatureGroup element --- src/mapml/features/featureGroup.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/mapml/features/featureGroup.js b/src/mapml/features/featureGroup.js index e18d81969..1fe0d3a8c 100644 --- a/src/mapml/features/featureGroup.js +++ b/src/mapml/features/featureGroup.js @@ -27,6 +27,8 @@ export var FeatureGroup = L.FeatureGroup.extend({ } this.options.group.setAttribute('aria-label', this.options.accessibleTitle); + // fix issue https://github.com/Maps4HTML/Web-Map-Custom-Element/issues/423 + this.options.group.setAttribute('role', 'application'); if(this.options.featureID) this.options.group.setAttribute("data-fid", this.options.featureID); }, From b2cb86bd64d30cb30b8e28d1989d52c01d9c1e74 Mon Sep 17 00:00:00 2001 From: Peter Rushforth Date: Thu, 20 May 2021 10:19:11 -0400 Subject: [PATCH 6/9] Conditionally create role="link" on graphics that are wrapped with --- src/mapml/features/featureGroup.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mapml/features/featureGroup.js b/src/mapml/features/featureGroup.js index 1fe0d3a8c..5db4a83d4 100644 --- a/src/mapml/features/featureGroup.js +++ b/src/mapml/features/featureGroup.js @@ -19,16 +19,17 @@ export var FeatureGroup = L.FeatureGroup.extend({ if(layers.length === 1 && firstLayer.options.link) this.options.link = firstLayer.options.link; if(this.options.link){ M.Feature.prototype.attachLinkHandler.call(this, this.options.group, this.options.link, this.options._leafletLayer); + this.options.group.setAttribute('role', 'link'); } else { this.options.group.setAttribute("aria-expanded", "false"); + // fix issue https://github.com/Maps4HTML/Web-Map-Custom-Element/issues/423 + this.options.group.setAttribute('role', 'application'); this.options.onEachFeature(this.options.properties, this); this.off("click", this._openPopup); } } this.options.group.setAttribute('aria-label', this.options.accessibleTitle); - // fix issue https://github.com/Maps4HTML/Web-Map-Custom-Element/issues/423 - this.options.group.setAttribute('role', 'application'); if(this.options.featureID) this.options.group.setAttribute("data-fid", this.options.featureID); }, From 717d0c2e5e5e85ff058255a7ad7f0cdd0e538c05 Mon Sep 17 00:00:00 2001 From: Peter Rushforth Date: Thu, 20 May 2021 11:35:40 -0400 Subject: [PATCH 7/9] Change role="application" to role="button" on featureGroup, which makes more sense when announced --- src/mapml/features/featureGroup.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mapml/features/featureGroup.js b/src/mapml/features/featureGroup.js index 5db4a83d4..79f3161da 100644 --- a/src/mapml/features/featureGroup.js +++ b/src/mapml/features/featureGroup.js @@ -23,7 +23,7 @@ export var FeatureGroup = L.FeatureGroup.extend({ } else { this.options.group.setAttribute("aria-expanded", "false"); // fix issue https://github.com/Maps4HTML/Web-Map-Custom-Element/issues/423 - this.options.group.setAttribute('role', 'application'); + this.options.group.setAttribute('role', 'button'); this.options.onEachFeature(this.options.properties, this); this.off("click", this._openPopup); } From 451615536f77d7a5c311dda4b3a9280767c41303 Mon Sep 17 00:00:00 2001 From: Peter Rushforth Date: Thu, 20 May 2021 13:54:19 -0400 Subject: [PATCH 8/9] Add Date: Thu, 20 May 2021 14:50:25 -0400 Subject: [PATCH 9/9] Remove obsolete comment --- src/mapml/features/featureGroup.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/mapml/features/featureGroup.js b/src/mapml/features/featureGroup.js index 79f3161da..bcf3688ee 100644 --- a/src/mapml/features/featureGroup.js +++ b/src/mapml/features/featureGroup.js @@ -22,7 +22,6 @@ export var FeatureGroup = L.FeatureGroup.extend({ this.options.group.setAttribute('role', 'link'); } else { this.options.group.setAttribute("aria-expanded", "false"); - // fix issue https://github.com/Maps4HTML/Web-Map-Custom-Element/issues/423 this.options.group.setAttribute('role', 'button'); this.options.onEachFeature(this.options.properties, this); this.off("click", this._openPopup);