@performant-software/geospatial 3.1.22-beta.0 → 3.1.22-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs100.js +1 -1
- package/dist/index.cjs101.js +1 -1
- package/dist/index.cjs102.js +1 -1
- package/dist/index.cjs103.js +1 -1
- package/dist/index.cjs104.js +1 -1
- package/dist/index.cjs105.js +1 -1
- package/dist/index.cjs106.js +1 -1
- package/dist/index.cjs107.js +1 -1
- package/dist/index.cjs110.js +1 -1
- package/dist/index.cjs111.js +1 -1
- package/dist/index.cjs113.js +1 -1
- package/dist/index.cjs114.js +1 -1
- package/dist/index.cjs115.js +1 -1
- package/dist/index.cjs116.js +1 -1
- package/dist/index.cjs121.js +1 -1
- package/dist/index.cjs122.js +1 -1
- package/dist/index.cjs123.js +1 -1
- package/dist/index.cjs124.js +1 -1
- package/dist/index.cjs127.js +1 -1
- package/dist/index.cjs128.js +1 -1
- package/dist/index.cjs129.js +1 -1
- package/dist/index.cjs13.js +1 -1
- package/dist/index.cjs13.js.map +1 -1
- package/dist/index.cjs133.js +1 -1
- package/dist/index.cjs136.js +1 -1
- package/dist/index.cjs14.js +1 -1
- package/dist/index.cjs14.js.map +1 -1
- package/dist/index.cjs140.js +1 -1
- package/dist/index.cjs143.js +1 -1
- package/dist/index.cjs15.js +1 -1
- package/dist/index.cjs151.js +1 -1
- package/dist/index.cjs152.js +1 -1
- package/dist/index.cjs153.js +1 -1
- package/dist/index.cjs154.js +1 -1
- package/dist/index.cjs155.js +1 -1
- package/dist/index.cjs156.js +1 -1
- package/dist/index.cjs157.js +1 -1
- package/dist/index.cjs159.js +1 -1
- package/dist/index.cjs16.js +1 -1
- package/dist/index.cjs160.js +1 -1
- package/dist/index.cjs161.js +1 -1
- package/dist/index.cjs162.js +1 -1
- package/dist/index.cjs163.js +1 -1
- package/dist/index.cjs164.js +1 -1
- package/dist/index.cjs165.js +1 -1
- package/dist/index.cjs166.js +1 -1
- package/dist/index.cjs167.js +1 -1
- package/dist/index.cjs17.js +1 -1
- package/dist/index.cjs170.js +1 -1
- package/dist/index.cjs171.js +1 -1
- package/dist/index.cjs173.js +1 -1
- package/dist/index.cjs174.js +1 -1
- package/dist/index.cjs175.js +1 -1
- package/dist/index.cjs176.js +1 -1
- package/dist/index.cjs177.js +1 -1
- package/dist/index.cjs178.js +1 -1
- package/dist/index.cjs179.js +1 -1
- package/dist/index.cjs18.js +1 -1
- package/dist/index.cjs180.js +1 -1
- package/dist/index.cjs186.js +1 -1
- package/dist/index.cjs187.js +1 -1
- package/dist/index.cjs188.js +1 -1
- package/dist/index.cjs189.js +1 -1
- package/dist/index.cjs19.js +1 -1
- package/dist/index.cjs190.js +1 -1
- package/dist/index.cjs193.js +1 -1
- package/dist/index.cjs193.js.map +1 -1
- package/dist/index.cjs194.js +1 -1
- package/dist/index.cjs194.js.map +1 -1
- package/dist/index.cjs196.js +1 -1
- package/dist/index.cjs197.js +1 -1
- package/dist/index.cjs198.js +1 -1
- package/dist/index.cjs199.js +1 -1
- package/dist/index.cjs20.js +1 -1
- package/dist/index.cjs201.js +1 -1
- package/dist/index.cjs202.js +1 -1
- package/dist/index.cjs203.js +1 -1
- package/dist/index.cjs204.js +1 -1
- package/dist/index.cjs206.js +1 -1
- package/dist/index.cjs207.js +1 -1
- package/dist/index.cjs209.js +1 -1
- package/dist/index.cjs209.js.map +1 -1
- package/dist/index.cjs21.js +1 -1
- package/dist/index.cjs210.js +1 -1
- package/dist/index.cjs210.js.map +1 -1
- package/dist/index.cjs211.js +1 -1
- package/dist/index.cjs211.js.map +1 -1
- package/dist/index.cjs212.js +1 -1
- package/dist/index.cjs212.js.map +1 -1
- package/dist/index.cjs213.js +1 -1
- package/dist/index.cjs213.js.map +1 -1
- package/dist/index.cjs214.js +1 -1
- package/dist/index.cjs214.js.map +1 -1
- package/dist/index.cjs215.js +1 -1
- package/dist/index.cjs215.js.map +1 -1
- package/dist/index.cjs216.js +1 -1
- package/dist/index.cjs216.js.map +1 -1
- package/dist/index.cjs217.js +1 -7
- package/dist/index.cjs217.js.map +1 -1
- package/dist/index.cjs218.js +1 -1
- package/dist/index.cjs218.js.map +1 -1
- package/dist/index.cjs219.js +1 -1
- package/dist/index.cjs219.js.map +1 -1
- package/dist/index.cjs22.js +1 -1
- package/dist/index.cjs220.js +1 -1
- package/dist/index.cjs220.js.map +1 -1
- package/dist/index.cjs221.js +1 -1
- package/dist/index.cjs221.js.map +1 -1
- package/dist/index.cjs222.js +1 -1
- package/dist/index.cjs222.js.map +1 -1
- package/dist/index.cjs223.js +1 -1
- package/dist/index.cjs223.js.map +1 -1
- package/dist/index.cjs224.js +1 -1
- package/dist/index.cjs224.js.map +1 -1
- package/dist/index.cjs225.js +1 -1
- package/dist/index.cjs225.js.map +1 -1
- package/dist/index.cjs226.js +1 -1
- package/dist/index.cjs226.js.map +1 -1
- package/dist/index.cjs227.js +1 -1
- package/dist/index.cjs227.js.map +1 -1
- package/dist/index.cjs228.js +1 -1
- package/dist/index.cjs228.js.map +1 -1
- package/dist/index.cjs229.js +1 -1
- package/dist/index.cjs229.js.map +1 -1
- package/dist/index.cjs23.js +1 -1
- package/dist/index.cjs230.js +1 -1
- package/dist/index.cjs230.js.map +1 -1
- package/dist/index.cjs231.js +1 -1
- package/dist/index.cjs231.js.map +1 -1
- package/dist/index.cjs232.js +1 -1
- package/dist/index.cjs232.js.map +1 -1
- package/dist/index.cjs233.js +1 -1
- package/dist/index.cjs233.js.map +1 -1
- package/dist/index.cjs234.js +1 -1
- package/dist/index.cjs234.js.map +1 -1
- package/dist/index.cjs235.js +1 -1
- package/dist/index.cjs235.js.map +1 -1
- package/dist/index.cjs236.js +7 -1
- package/dist/index.cjs236.js.map +1 -1
- package/dist/index.cjs237.js +1 -1
- package/dist/index.cjs237.js.map +1 -1
- package/dist/index.cjs238.js +1 -1
- package/dist/index.cjs238.js.map +1 -1
- package/dist/index.cjs239.js +1 -1
- package/dist/index.cjs239.js.map +1 -1
- package/dist/index.cjs24.js +1 -1
- package/dist/index.cjs240.js +1 -1
- package/dist/index.cjs240.js.map +1 -1
- package/dist/index.cjs241.js +1 -1
- package/dist/index.cjs241.js.map +1 -1
- package/dist/index.cjs242.js +1 -1
- package/dist/index.cjs242.js.map +1 -1
- package/dist/index.cjs243.js +1 -1
- package/dist/index.cjs243.js.map +1 -1
- package/dist/index.cjs244.js +1 -1
- package/dist/index.cjs244.js.map +1 -1
- package/dist/index.cjs245.js +1 -1
- package/dist/index.cjs245.js.map +1 -1
- package/dist/index.cjs246.js +1 -1
- package/dist/index.cjs246.js.map +1 -1
- package/dist/index.cjs247.js +1 -1
- package/dist/index.cjs247.js.map +1 -1
- package/dist/index.cjs248.js +1 -1
- package/dist/index.cjs248.js.map +1 -1
- package/dist/index.cjs249.js +1 -1
- package/dist/index.cjs249.js.map +1 -1
- package/dist/index.cjs25.js +1 -1
- package/dist/index.cjs250.js +1 -1
- package/dist/index.cjs250.js.map +1 -1
- package/dist/index.cjs251.js +1 -1
- package/dist/index.cjs251.js.map +1 -1
- package/dist/index.cjs252.js +1 -1
- package/dist/index.cjs252.js.map +1 -1
- package/dist/index.cjs253.js +1 -1
- package/dist/index.cjs253.js.map +1 -1
- package/dist/index.cjs254.js +1 -1
- package/dist/index.cjs254.js.map +1 -1
- package/dist/index.cjs255.js +1 -1
- package/dist/index.cjs255.js.map +1 -1
- package/dist/index.cjs256.js +1 -1
- package/dist/index.cjs256.js.map +1 -1
- package/dist/index.cjs257.js +1 -1
- package/dist/index.cjs257.js.map +1 -1
- package/dist/index.cjs258.js +1 -1
- package/dist/index.cjs258.js.map +1 -1
- package/dist/index.cjs259.js +1 -1
- package/dist/index.cjs259.js.map +1 -1
- package/dist/index.cjs26.js +1 -1
- package/dist/index.cjs260.js +1 -1
- package/dist/index.cjs260.js.map +1 -1
- package/dist/index.cjs261.js +1 -1
- package/dist/index.cjs261.js.map +1 -1
- package/dist/index.cjs262.js +1 -1
- package/dist/index.cjs262.js.map +1 -1
- package/dist/index.cjs263.js +1 -1
- package/dist/index.cjs263.js.map +1 -1
- package/dist/index.cjs264.js +1 -1
- package/dist/index.cjs264.js.map +1 -1
- package/dist/index.cjs265.js +1 -1
- package/dist/index.cjs265.js.map +1 -1
- package/dist/index.cjs266.js +1 -1
- package/dist/index.cjs266.js.map +1 -1
- package/dist/index.cjs267.js +1 -1
- package/dist/index.cjs267.js.map +1 -1
- package/dist/index.cjs268.js +1 -1
- package/dist/index.cjs268.js.map +1 -1
- package/dist/index.cjs27.js +1 -1
- package/dist/index.cjs270.js +1 -1
- package/dist/index.cjs270.js.map +1 -1
- package/dist/index.cjs271.js +1 -1
- package/dist/index.cjs271.js.map +1 -1
- package/dist/index.cjs272.js +1 -1
- package/dist/index.cjs272.js.map +1 -1
- package/dist/index.cjs29.js +1 -1
- package/dist/index.cjs32.js +1 -1
- package/dist/index.cjs34.js +1 -1
- package/dist/index.cjs35.js +1 -1
- package/dist/index.cjs38.js +1 -1
- package/dist/index.cjs39.js +1 -1
- package/dist/index.cjs40.js +1 -1
- package/dist/index.cjs42.js +1 -1
- package/dist/index.cjs43.js +1 -1
- package/dist/index.cjs44.js +1 -1
- package/dist/index.cjs46.js +1 -1
- package/dist/index.cjs47.js +1 -1
- package/dist/index.cjs48.js +1 -1
- package/dist/index.cjs50.js +1 -1
- package/dist/index.cjs51.js +1 -1
- package/dist/index.cjs52.js +1 -1
- package/dist/index.cjs56.js +1 -1
- package/dist/index.cjs57.js +1 -1
- package/dist/index.cjs58.js +1 -1
- package/dist/index.cjs60.js +1 -1
- package/dist/index.cjs61.js +1 -1
- package/dist/index.cjs63.js +1 -1
- package/dist/index.cjs69.js +1 -1
- package/dist/index.cjs71.js +1 -1
- package/dist/index.cjs72.js +1 -1
- package/dist/index.cjs73.js +1 -1
- package/dist/index.cjs75.js +1 -1
- package/dist/index.cjs76.js +1 -1
- package/dist/index.cjs78.js +743 -1
- package/dist/index.cjs78.js.map +1 -1
- package/dist/index.cjs80.js +1 -9
- package/dist/index.cjs80.js.map +1 -1
- package/dist/index.cjs81.js +1 -17
- package/dist/index.cjs81.js.map +1 -1
- package/dist/index.cjs82.js +9 -1
- package/dist/index.cjs82.js.map +1 -1
- package/dist/index.cjs83.js +17 -1
- package/dist/index.cjs83.js.map +1 -1
- package/dist/index.cjs84.js +1 -1
- package/dist/index.cjs84.js.map +1 -1
- package/dist/index.cjs85.js +1 -1
- package/dist/index.cjs85.js.map +1 -1
- package/dist/index.cjs86.js +1 -1
- package/dist/index.cjs86.js.map +1 -1
- package/dist/index.cjs87.js +1 -743
- package/dist/index.cjs87.js.map +1 -1
- package/dist/index.cjs88.js +1 -1
- package/dist/index.cjs88.js.map +1 -1
- package/dist/index.cjs92.js +1 -1
- package/dist/index.cjs99.js +1 -1
- package/dist/index.es100.js +1 -1
- package/dist/index.es101.js +1 -1
- package/dist/index.es102.js +1 -1
- package/dist/index.es103.js +1 -1
- package/dist/index.es104.js +1 -1
- package/dist/index.es105.js +1 -1
- package/dist/index.es106.js +1 -1
- package/dist/index.es107.js +1 -1
- package/dist/index.es110.js +1 -1
- package/dist/index.es111.js +1 -1
- package/dist/index.es113.js +3 -3
- package/dist/index.es114.js +1 -1
- package/dist/index.es115.js +2 -2
- package/dist/index.es116.js +1 -1
- package/dist/index.es121.js +1 -1
- package/dist/index.es122.js +1 -1
- package/dist/index.es123.js +1 -1
- package/dist/index.es124.js +1 -1
- package/dist/index.es127.js +2 -2
- package/dist/index.es128.js +2 -2
- package/dist/index.es129.js +1 -1
- package/dist/index.es13.js +32 -31
- package/dist/index.es13.js.map +1 -1
- package/dist/index.es133.js +2 -2
- package/dist/index.es136.js +1 -1
- package/dist/index.es14.js +5 -1
- package/dist/index.es14.js.map +1 -1
- package/dist/index.es140.js +1 -1
- package/dist/index.es143.js +1 -1
- package/dist/index.es15.js +1 -1
- package/dist/index.es151.js +1 -1
- package/dist/index.es152.js +1 -1
- package/dist/index.es153.js +1 -1
- package/dist/index.es154.js +2 -2
- package/dist/index.es155.js +1 -1
- package/dist/index.es156.js +1 -1
- package/dist/index.es157.js +1 -1
- package/dist/index.es159.js +2 -2
- package/dist/index.es16.js +4 -4
- package/dist/index.es160.js +2 -2
- package/dist/index.es161.js +1 -1
- package/dist/index.es162.js +1 -1
- package/dist/index.es163.js +1 -1
- package/dist/index.es164.js +1 -1
- package/dist/index.es165.js +2 -2
- package/dist/index.es166.js +2 -2
- package/dist/index.es167.js +1 -1
- package/dist/index.es17.js +3 -3
- package/dist/index.es170.js +2 -2
- package/dist/index.es171.js +2 -2
- package/dist/index.es173.js +2 -2
- package/dist/index.es174.js +1 -1
- package/dist/index.es175.js +2 -2
- package/dist/index.es176.js +1 -1
- package/dist/index.es177.js +2 -2
- package/dist/index.es178.js +1 -1
- package/dist/index.es179.js +1 -1
- package/dist/index.es18.js +3 -3
- package/dist/index.es180.js +1 -1
- package/dist/index.es186.js +1 -1
- package/dist/index.es187.js +2 -2
- package/dist/index.es188.js +1 -1
- package/dist/index.es189.js +1 -1
- package/dist/index.es19.js +1 -1
- package/dist/index.es190.js +1 -1
- package/dist/index.es193.js +146 -16
- package/dist/index.es193.js.map +1 -1
- package/dist/index.es194.js +16 -146
- package/dist/index.es194.js.map +1 -1
- package/dist/index.es196.js +2 -2
- package/dist/index.es197.js +1 -1
- package/dist/index.es198.js +1 -1
- package/dist/index.es199.js +2 -2
- package/dist/index.es20.js +1 -1
- package/dist/index.es201.js +3 -3
- package/dist/index.es202.js +1 -1
- package/dist/index.es203.js +1 -1
- package/dist/index.es204.js +1 -1
- package/dist/index.es206.js +2 -2
- package/dist/index.es207.js +3 -3
- package/dist/index.es209.js +7 -242
- package/dist/index.es209.js.map +1 -1
- package/dist/index.es21.js +1 -1
- package/dist/index.es210.js +4 -42
- package/dist/index.es210.js.map +1 -1
- package/dist/index.es211.js +4 -3
- package/dist/index.es211.js.map +1 -1
- package/dist/index.es212.js +3 -11
- package/dist/index.es212.js.map +1 -1
- package/dist/index.es213.js +3 -11
- package/dist/index.es213.js.map +1 -1
- package/dist/index.es214.js +8 -30
- package/dist/index.es214.js.map +1 -1
- package/dist/index.es215.js +18 -13
- package/dist/index.es215.js.map +1 -1
- package/dist/index.es216.js +20 -4
- package/dist/index.es216.js.map +1 -1
- package/dist/index.es217.js +12 -7506
- package/dist/index.es217.js.map +1 -1
- package/dist/index.es218.js +15 -2
- package/dist/index.es218.js.map +1 -1
- package/dist/index.es219.js +5 -7
- package/dist/index.es219.js.map +1 -1
- package/dist/index.es22.js +1 -1
- package/dist/index.es220.js +7 -4
- package/dist/index.es220.js.map +1 -1
- package/dist/index.es221.js +7 -4
- package/dist/index.es221.js.map +1 -1
- package/dist/index.es222.js +22 -3
- package/dist/index.es222.js.map +1 -1
- package/dist/index.es223.js +10 -3
- package/dist/index.es223.js.map +1 -1
- package/dist/index.es224.js +9 -9
- package/dist/index.es224.js.map +1 -1
- package/dist/index.es225.js +4 -19
- package/dist/index.es225.js.map +1 -1
- package/dist/index.es226.js +10 -20
- package/dist/index.es226.js.map +1 -1
- package/dist/index.es227.js +7 -12
- package/dist/index.es227.js.map +1 -1
- package/dist/index.es228.js +20 -14
- package/dist/index.es228.js.map +1 -1
- package/dist/index.es229.js +10 -5
- package/dist/index.es229.js.map +1 -1
- package/dist/index.es23.js +1 -1
- package/dist/index.es230.js +17 -7
- package/dist/index.es230.js.map +1 -1
- package/dist/index.es231.js +4 -7
- package/dist/index.es231.js.map +1 -1
- package/dist/index.es232.js +16 -20
- package/dist/index.es232.js.map +1 -1
- package/dist/index.es233.js +10 -8
- package/dist/index.es233.js.map +1 -1
- package/dist/index.es234.js +4 -9
- package/dist/index.es234.js.map +1 -1
- package/dist/index.es235.js +4 -3
- package/dist/index.es235.js.map +1 -1
- package/dist/index.es236.js +7506 -10
- package/dist/index.es236.js.map +1 -1
- package/dist/index.es237.js +2 -8
- package/dist/index.es237.js.map +1 -1
- package/dist/index.es238.js +242 -20
- package/dist/index.es238.js.map +1 -1
- package/dist/index.es239.js +41 -9
- package/dist/index.es239.js.map +1 -1
- package/dist/index.es24.js +1 -1
- package/dist/index.es240.js +3 -18
- package/dist/index.es240.js.map +1 -1
- package/dist/index.es241.js +10 -3
- package/dist/index.es241.js.map +1 -1
- package/dist/index.es242.js +10 -17
- package/dist/index.es242.js.map +1 -1
- package/dist/index.es243.js +30 -11
- package/dist/index.es243.js.map +1 -1
- package/dist/index.es244.js +13 -3
- package/dist/index.es244.js.map +1 -1
- package/dist/index.es245.js +4 -4
- package/dist/index.es245.js.map +1 -1
- package/dist/index.es246.js +3 -21
- package/dist/index.es246.js.map +1 -1
- package/dist/index.es247.js +5 -22
- package/dist/index.es247.js.map +1 -1
- package/dist/index.es248.js +7 -24
- package/dist/index.es248.js.map +1 -1
- package/dist/index.es249.js +23 -15
- package/dist/index.es249.js.map +1 -1
- package/dist/index.es25.js +1 -1
- package/dist/index.es250.js +15 -29
- package/dist/index.es250.js.map +1 -1
- package/dist/index.es251.js +29 -20
- package/dist/index.es251.js.map +1 -1
- package/dist/index.es252.js +21 -74
- package/dist/index.es252.js.map +1 -1
- package/dist/index.es253.js +72 -18
- package/dist/index.es253.js.map +1 -1
- package/dist/index.es254.js +19 -39
- package/dist/index.es254.js.map +1 -1
- package/dist/index.es255.js +36 -45
- package/dist/index.es255.js.map +1 -1
- package/dist/index.es256.js +49 -7
- package/dist/index.es256.js.map +1 -1
- package/dist/index.es257.js +7 -20
- package/dist/index.es257.js.map +1 -1
- package/dist/index.es258.js +18 -63
- package/dist/index.es258.js.map +1 -1
- package/dist/index.es259.js +64 -41
- package/dist/index.es259.js.map +1 -1
- package/dist/index.es26.js +2 -2
- package/dist/index.es260.js +41 -62
- package/dist/index.es260.js.map +1 -1
- package/dist/index.es261.js +62 -7
- package/dist/index.es261.js.map +1 -1
- package/dist/index.es262.js +8 -3
- package/dist/index.es262.js.map +1 -1
- package/dist/index.es263.js +3 -12
- package/dist/index.es263.js.map +1 -1
- package/dist/index.es264.js +11 -58
- package/dist/index.es264.js.map +1 -1
- package/dist/index.es265.js +57 -47
- package/dist/index.es265.js.map +1 -1
- package/dist/index.es266.js +50 -3
- package/dist/index.es266.js.map +1 -1
- package/dist/index.es267.js +19 -4
- package/dist/index.es267.js.map +1 -1
- package/dist/index.es268.js +22 -7
- package/dist/index.es268.js.map +1 -1
- package/dist/index.es27.js +2 -2
- package/dist/index.es270.js +15 -4
- package/dist/index.es270.js.map +1 -1
- package/dist/index.es271.js +69 -15
- package/dist/index.es271.js.map +1 -1
- package/dist/index.es272.js +4 -69
- package/dist/index.es272.js.map +1 -1
- package/dist/index.es29.js +2 -2
- package/dist/index.es32.js +2 -2
- package/dist/index.es34.js +2 -2
- package/dist/index.es35.js +2 -2
- package/dist/index.es38.js +1 -1
- package/dist/index.es39.js +1 -1
- package/dist/index.es40.js +2 -2
- package/dist/index.es42.js +2 -2
- package/dist/index.es43.js +2 -2
- package/dist/index.es44.js +2 -2
- package/dist/index.es46.js +1 -1
- package/dist/index.es47.js +2 -2
- package/dist/index.es48.js +2 -2
- package/dist/index.es50.js +1 -1
- package/dist/index.es51.js +1 -1
- package/dist/index.es52.js +1 -1
- package/dist/index.es56.js +2 -2
- package/dist/index.es57.js +3 -3
- package/dist/index.es58.js +1 -1
- package/dist/index.es60.js +1 -1
- package/dist/index.es61.js +1 -1
- package/dist/index.es63.js +1 -1
- package/dist/index.es69.js +1 -1
- package/dist/index.es71.js +1 -1
- package/dist/index.es72.js +1 -1
- package/dist/index.es73.js +1 -1
- package/dist/index.es75.js +1 -1
- package/dist/index.es76.js +1 -1
- package/dist/index.es78.js +21351 -7
- package/dist/index.es78.js.map +1 -1
- package/dist/index.es80.js +7 -25
- package/dist/index.es80.js.map +1 -1
- package/dist/index.es81.js +2 -589
- package/dist/index.es81.js.map +1 -1
- package/dist/index.es82.js +25 -1992
- package/dist/index.es82.js.map +1 -1
- package/dist/index.es83.js +588 -5
- package/dist/index.es83.js.map +1 -1
- package/dist/index.es84.js +1993 -2
- package/dist/index.es84.js.map +1 -1
- package/dist/index.es85.js +5 -105
- package/dist/index.es85.js.map +1 -1
- package/dist/index.es86.js +2 -10
- package/dist/index.es86.js.map +1 -1
- package/dist/index.es87.js +104 -21350
- package/dist/index.es87.js.map +1 -1
- package/dist/index.es88.js +10 -2
- package/dist/index.es88.js.map +1 -1
- package/dist/index.es92.js +1 -1
- package/dist/index.es99.js +1 -1
- package/package.json +4 -1
- package/src/components/CertaintyLayer.js +0 -42
- package/src/components/DrawControl.js +0 -43
- package/src/components/GeoJsonLayer.js +0 -44
- package/src/components/GeocodingControl.css +0 -3
- package/src/components/GeocodingControl.js +0 -34
- package/src/components/LayerMenu.css +0 -38
- package/src/components/LayerMenu.js +0 -162
- package/src/components/LocationMarkers.js +0 -163
- package/src/components/MapControl.js +0 -120
- package/src/components/MapDraw.css +0 -2
- package/src/components/MapDraw.js +0 -268
- package/src/components/RasterLayer.js +0 -38
- package/src/components/WarpedImageLayer.js +0 -72
- package/src/components/WarpedImageLayerPeripleo.js +0 -56
- package/src/index.js +0 -18
- package/src/utils/Map.js +0 -258
- package/src/utils/MapStyles.js +0 -44
- package/types/components/CertaintyLayer.js.flow +0 -42
- package/types/components/DrawControl.js.flow +0 -43
- package/types/components/GeoJsonLayer.js.flow +0 -44
- package/types/components/GeocodingControl.js.flow +0 -34
- package/types/components/LayerMenu.js.flow +0 -162
- package/types/components/LocationMarkers.js.flow +0 -163
- package/types/components/MapCertaintyControl.js.flow +0 -71
- package/types/components/MapControl.js.flow +0 -120
- package/types/components/MapDraw.js.flow +0 -268
- package/types/components/RasterLayer.js.flow +0 -38
- package/types/components/WarpedImageLayer.js.flow +0 -72
- package/types/components/WarpedImageLayerPeripleo.js.flow +0 -56
- package/types/index.js.flow +0 -18
- package/types/utils/Map.js.flow +0 -258
- package/types/utils/MapStyles.js.flow +0 -44
- package/vite.config.js +0 -40
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
|
-
import { GeoJSONLayer, PulsingMarkerLayer, useLoadedMap } from '@peripleo/maplibre';
|
|
4
|
-
import React, { useEffect, useMemo } from 'react';
|
|
5
|
-
import _ from 'underscore';
|
|
6
|
-
import MapStyles from '../utils/MapStyles';
|
|
7
|
-
import MapUtils from '../utils/Map';
|
|
8
|
-
|
|
9
|
-
type Props = {
|
|
10
|
-
/**
|
|
11
|
-
* If `true`, the point marker will display with a pulsing animation.
|
|
12
|
-
*/
|
|
13
|
-
animate?: boolean,
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* (Optional) data to pass to the fitToBounds function.
|
|
17
|
-
*/
|
|
18
|
-
boundingBoxData?: any,
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* (Optional) options to pass to the fitToBounds function.
|
|
22
|
-
* See [spec](https://maplibre.org/maplibre-gl-js/docs/API/types/FitBoundsOptions/).
|
|
23
|
-
*/
|
|
24
|
-
boundingBoxOptions?: any,
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* The number of miles to buffer the GeoJSON data.
|
|
28
|
-
*/
|
|
29
|
-
buffer: number,
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* If true, markers will be clustered before the specified zoom level.
|
|
33
|
-
*/
|
|
34
|
-
cluster?: boolean,
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Max zoom to cluster points on.
|
|
38
|
-
*/
|
|
39
|
-
clusterMaxZoom?: number,
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Minimum number of points necessary to form a cluster.
|
|
43
|
-
*/
|
|
44
|
-
clusterMinPoints?: number,
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* An object defining custom properties on the generated clusters.
|
|
48
|
-
*/
|
|
49
|
-
clusterProperties?: any,
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Radius of each cluster when clustering point.
|
|
53
|
-
*/
|
|
54
|
-
clusterRadius?: number,
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* The GeoJSON data representing the location.
|
|
58
|
-
*/
|
|
59
|
-
data: { [key: string]: any },
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* GeoJSON layer fill style.
|
|
63
|
-
*/
|
|
64
|
-
fillStyle?: { [key: string]: any },
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* If `true`, the map will fit the bounding box around the passed data.
|
|
68
|
-
*/
|
|
69
|
-
fitBoundingBox?: boolean,
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* If `true`, the selection and hover state will apply to the layer.
|
|
73
|
-
*/
|
|
74
|
-
interactive?: boolean,
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* An ID value to apply to the layer.
|
|
78
|
-
*/
|
|
79
|
-
layerId?: string,
|
|
80
|
-
|
|
81
|
-
/**
|
|
82
|
-
* GeoJSON layer point style.
|
|
83
|
-
*/
|
|
84
|
-
pointStyle?: { [key: string]: any },
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* GeoJSON layer stroke style
|
|
88
|
-
*/
|
|
89
|
-
strokeStyle?: { [key: string]: any },
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* If true, the layer will be visible on the map.
|
|
93
|
-
*/
|
|
94
|
-
visible?: boolean
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
const DEFAULT_BUFFER = 2;
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* This component renders a location marker to be used in a Peripleo context.
|
|
101
|
-
*/
|
|
102
|
-
const LocationMarkers = (props: Props) => {
|
|
103
|
-
const map = useLoadedMap();
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Memo-izes the data prop.
|
|
107
|
-
*
|
|
108
|
-
* @type {{[p: string]: *}}
|
|
109
|
-
*/
|
|
110
|
-
const data = useMemo(() => (_.isEmpty(props.data) ? null : props.data), [props.data]);
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Sets the bounding box on the map.
|
|
114
|
-
*/
|
|
115
|
-
useEffect(() => {
|
|
116
|
-
if (map && data && props.fitBoundingBox) {
|
|
117
|
-
const bbox = MapUtils.getBoundingBox(data, props.buffer);
|
|
118
|
-
|
|
119
|
-
if (bbox) {
|
|
120
|
-
map.fitBounds(bbox, props.boundingBoxOptions, props.boundingBoxData);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
}, [map, props.buffer, props.data, props.boundingBoxData, props.boundingBoxOptions, props.fitBoundingBox]);
|
|
124
|
-
|
|
125
|
-
if (!data) {
|
|
126
|
-
return null;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
return (
|
|
130
|
-
<>
|
|
131
|
-
{ props.animate && (
|
|
132
|
-
<PulsingMarkerLayer
|
|
133
|
-
data={props.data}
|
|
134
|
-
id={props.layerId}
|
|
135
|
-
/>
|
|
136
|
-
)}
|
|
137
|
-
<GeoJSONLayer
|
|
138
|
-
cluster={props.cluster}
|
|
139
|
-
clusterMaxZoom={props.clusterMaxZoom}
|
|
140
|
-
clusterMinPoints={props.clusterMinPoints}
|
|
141
|
-
clusterProperties={props.clusterProperties}
|
|
142
|
-
clusterRadius={props.clusterRadius}
|
|
143
|
-
data={props.data}
|
|
144
|
-
fillStyle={props.fillStyle}
|
|
145
|
-
id={props.layerId}
|
|
146
|
-
interactive={props.interactive}
|
|
147
|
-
strokeStyle={props.strokeStyle}
|
|
148
|
-
pointStyle={props.pointStyle}
|
|
149
|
-
visible={props.visible}
|
|
150
|
-
/>
|
|
151
|
-
</>
|
|
152
|
-
);
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
LocationMarkers.defaultProps = {
|
|
156
|
-
buffer: DEFAULT_BUFFER,
|
|
157
|
-
fillStyle: MapStyles.fill,
|
|
158
|
-
fitBoundingBox: true,
|
|
159
|
-
pointStyle: MapStyles.point,
|
|
160
|
-
strokeStyle: MapStyles.stroke
|
|
161
|
-
};
|
|
162
|
-
|
|
163
|
-
export default LocationMarkers;
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
|
-
import cx from 'classnames';
|
|
4
|
-
import React, { useCallback, useMemo, useState } from 'react';
|
|
5
|
-
import { useTranslation } from 'react-i18next';
|
|
6
|
-
import { TbCircleDashed } from 'react-icons/tb';
|
|
7
|
-
import MapControl from './MapControl';
|
|
8
|
-
import './MapCertaintyControl.css';
|
|
9
|
-
|
|
10
|
-
type Props = {
|
|
11
|
-
data: any,
|
|
12
|
-
onChange: (data: any) => void
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
const MapCertaintyControl = (props: Props) => {
|
|
16
|
-
const { t } = useTranslation();
|
|
17
|
-
const [showCertaintyRadiusInput, setShowCertaintyRadiusInput] = useState(false);
|
|
18
|
-
|
|
19
|
-
const certaintyRadius = useMemo(() => (
|
|
20
|
-
props.data?.certainty_radius || 0
|
|
21
|
-
), [props.data]);
|
|
22
|
-
|
|
23
|
-
const onCertaintyRadiusChange = useCallback((e) => {
|
|
24
|
-
const radius = parseInt(e.target.value, 10) || 0;
|
|
25
|
-
|
|
26
|
-
props.onChange({
|
|
27
|
-
...props.data,
|
|
28
|
-
certainty_radius: radius
|
|
29
|
-
});
|
|
30
|
-
}, [props.data, props.onChange]);
|
|
31
|
-
|
|
32
|
-
return (
|
|
33
|
-
<MapControl
|
|
34
|
-
position='bottom-left'
|
|
35
|
-
>
|
|
36
|
-
<div className='certaintyRadiusControl'>
|
|
37
|
-
<button
|
|
38
|
-
className={cx(
|
|
39
|
-
'mapbox-gl-draw_ctrl-draw-btn',
|
|
40
|
-
'layer-button'
|
|
41
|
-
)}
|
|
42
|
-
onClick={() => setShowCertaintyRadiusInput(!showCertaintyRadiusInput)}
|
|
43
|
-
title={t('PlaceForm.labels.certaintyRadius')}
|
|
44
|
-
type='button'
|
|
45
|
-
>
|
|
46
|
-
<TbCircleDashed />
|
|
47
|
-
</button>
|
|
48
|
-
{ showCertaintyRadiusInput && (
|
|
49
|
-
<div
|
|
50
|
-
className={cx(
|
|
51
|
-
'certaintyRadiusInputContainer',
|
|
52
|
-
'mapbox-gl-draw_ctrl-draw-btn'
|
|
53
|
-
)}
|
|
54
|
-
>
|
|
55
|
-
<input
|
|
56
|
-
className='ui input'
|
|
57
|
-
type='number'
|
|
58
|
-
value={certaintyRadius}
|
|
59
|
-
min={0}
|
|
60
|
-
step={0.01}
|
|
61
|
-
onChange={onCertaintyRadiusChange}
|
|
62
|
-
/>
|
|
63
|
-
</div>
|
|
64
|
-
)}
|
|
65
|
-
</div>
|
|
66
|
-
</MapControl>
|
|
67
|
-
);
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
export default MapCertaintyControl;
|
|
71
|
-
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
|
-
import { IControl } from 'maplibre-gl';
|
|
4
|
-
import {
|
|
5
|
-
Children,
|
|
6
|
-
cloneElement,
|
|
7
|
-
useCallback,
|
|
8
|
-
useEffect,
|
|
9
|
-
useState
|
|
10
|
-
} from 'react';
|
|
11
|
-
import { createPortal } from 'react-dom';
|
|
12
|
-
import { type MapboxMap, useControl } from 'react-map-gl/maplibre';
|
|
13
|
-
import _ from 'underscore';
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Class to implement the IControl interface to allow custom controls to be drawn on the map.
|
|
17
|
-
*/
|
|
18
|
-
class IControlImpl implements IControl {
|
|
19
|
-
_map: MapboxMap = null;
|
|
20
|
-
_container: HTMLElement;
|
|
21
|
-
_redraw: () => void;
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Constructs a new IControlImpl object.
|
|
25
|
-
*
|
|
26
|
-
* @param redraw
|
|
27
|
-
*/
|
|
28
|
-
constructor(redraw: () => void) {
|
|
29
|
-
this._redraw = redraw;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Creates the container when the component is added to the passed map.
|
|
34
|
-
*
|
|
35
|
-
* @param map
|
|
36
|
-
*
|
|
37
|
-
* @returns {HTMLElement}
|
|
38
|
-
*/
|
|
39
|
-
onAdd(map) {
|
|
40
|
-
this._map = map;
|
|
41
|
-
map.on('move', this._redraw);
|
|
42
|
-
|
|
43
|
-
this._container = document.createElement('div');
|
|
44
|
-
this._container.className = 'maplibregl-ctrl-group maplibregl-ctrl';
|
|
45
|
-
this._redraw();
|
|
46
|
-
return this._container;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Removes the container when the component is removed from the map.
|
|
51
|
-
*/
|
|
52
|
-
onRemove() {
|
|
53
|
-
this._container.remove();
|
|
54
|
-
this._map.off('move', this._redraw);
|
|
55
|
-
this._map = null;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Returns the map instance.
|
|
60
|
-
*
|
|
61
|
-
* @returns {mapboxgl.Map}
|
|
62
|
-
*/
|
|
63
|
-
getMap() {
|
|
64
|
-
return this._map;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Returns the container instance.
|
|
69
|
-
*
|
|
70
|
-
* @returns {HTMLElement}
|
|
71
|
-
*/
|
|
72
|
-
getElement() {
|
|
73
|
-
return this._container;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
const MapControl = (props) => {
|
|
78
|
-
const [, setVersion] = useState(0);
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Forces the component to re-render on map move.
|
|
82
|
-
*
|
|
83
|
-
* @type {function(): void}
|
|
84
|
-
*/
|
|
85
|
-
const forceUpdate = useCallback(() => setVersion((v) => v + 1), []);
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Creates the map control.
|
|
89
|
-
*
|
|
90
|
-
* @type {IControlImpl}
|
|
91
|
-
*/
|
|
92
|
-
const ctrl = useControl(() => new IControlImpl(forceUpdate), { position: props.position });
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Sets the map instance.
|
|
96
|
-
*
|
|
97
|
-
* @type {mapboxgl.Map}
|
|
98
|
-
*/
|
|
99
|
-
const map = ctrl.getMap();
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Creates the list of children to be added to the map instance.
|
|
103
|
-
*
|
|
104
|
-
* @type {Array<$NonMaybeType<*>>}
|
|
105
|
-
*/
|
|
106
|
-
const children = Children.map(_.compact(Children.toArray(props.children)), (child) => cloneElement(child, { map }));
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Sets the map ref.
|
|
110
|
-
*/
|
|
111
|
-
useEffect(() => {
|
|
112
|
-
if (props.mapRef) {
|
|
113
|
-
props.mapRef.current = map;
|
|
114
|
-
}
|
|
115
|
-
}, [map, props.mapRef]);
|
|
116
|
-
|
|
117
|
-
return map && createPortal(children, ctrl.getElement());
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
export default MapControl;
|
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
|
-
import MapboxDraw from '@mapbox/mapbox-gl-draw';
|
|
4
|
-
import { feature, type FeatureCollection, type GeometryCollection } from '@turf/turf';
|
|
5
|
-
import maplibregl from 'maplibre-gl';
|
|
6
|
-
import React, {
|
|
7
|
-
useCallback,
|
|
8
|
-
useEffect,
|
|
9
|
-
useMemo,
|
|
10
|
-
useRef,
|
|
11
|
-
useState,
|
|
12
|
-
type Node
|
|
13
|
-
} from 'react';
|
|
14
|
-
import Map, {
|
|
15
|
-
FullscreenControl,
|
|
16
|
-
type MapboxMap,
|
|
17
|
-
NavigationControl
|
|
18
|
-
} from 'react-map-gl/maplibre';
|
|
19
|
-
import _ from 'underscore';
|
|
20
|
-
import DrawControl from './DrawControl';
|
|
21
|
-
import GeocodingControl from './GeocodingControl';
|
|
22
|
-
import MapUtils from '../utils/Map';
|
|
23
|
-
|
|
24
|
-
import '@maptiler/geocoding-control/style.css';
|
|
25
|
-
import './MapDraw.css';
|
|
26
|
-
|
|
27
|
-
// Override the MapboxDraw components to use MapLibre styles
|
|
28
|
-
MapboxDraw.constants.classes.CONTROL_BASE = 'maplibregl-ctrl';
|
|
29
|
-
MapboxDraw.constants.classes.CONTROL_PREFIX = 'maplibregl-ctrl-';
|
|
30
|
-
MapboxDraw.constants.classes.CONTROL_GROUP = 'maplibregl-ctrl-group';
|
|
31
|
-
|
|
32
|
-
type Props = {
|
|
33
|
-
/**
|
|
34
|
-
* MapTiler API key.
|
|
35
|
-
*/
|
|
36
|
-
apiKey?: string,
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* The number of miles to buffer the GeoJSON data.
|
|
40
|
-
*/
|
|
41
|
-
buffer?: number,
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Additional child nodes to render.
|
|
45
|
-
*/
|
|
46
|
-
children?: Node,
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* If `true`, the map will require CTRL + scroll to zoom.
|
|
50
|
-
*/
|
|
51
|
-
cooperativeGestures?: boolean,
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* GeoJSON structured data to be displayed on the map.
|
|
55
|
-
*/
|
|
56
|
-
data: GeometryCollection | FeatureCollection,
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* If `true`, a control will be rendered to put the map in full screen mode.
|
|
60
|
-
*/
|
|
61
|
-
fullscreen?: boolean,
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Controls the type of GeoJSON data returned from the MapTiler Geocoding API.
|
|
65
|
-
*/
|
|
66
|
-
geocoding?: undefined | 'point' | 'polygon',
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* URL of the map style to render. This URL should contain any necessary API keys.
|
|
70
|
-
*/
|
|
71
|
-
mapStyle: string,
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* The maximum pitch of the map (0-85).
|
|
75
|
-
*/
|
|
76
|
-
maxPitch?: number,
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* If `true`, the navigation controls will display.
|
|
80
|
-
*/
|
|
81
|
-
navigation?: boolean,
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Callback fired when the map geometries are changed.
|
|
85
|
-
*
|
|
86
|
-
* @param features
|
|
87
|
-
*/
|
|
88
|
-
onChange: (features: Array<any>) => void,
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Callback fired when an item is selected from the geocoding dropdown.
|
|
92
|
-
*/
|
|
93
|
-
onGeocodingSelection?: (data: any) => void,
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* If `true`, the map's canvas can be exported to a PNG using `map.getCanvas().toDataURL()`.
|
|
97
|
-
*/
|
|
98
|
-
preserveDrawingBuffer?: boolean,
|
|
99
|
-
|
|
100
|
-
/**
|
|
101
|
-
* Map style object.
|
|
102
|
-
*/
|
|
103
|
-
style?: any,
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* The time in milliseconds to zoom into the location.
|
|
107
|
-
*/
|
|
108
|
-
zoomDuration?: number
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
const DEFAULT_BUFFER = 2;
|
|
112
|
-
const DEFAULT_ZOOM_DELAY = 1000;
|
|
113
|
-
|
|
114
|
-
const GeometryTypes = {
|
|
115
|
-
geometryCollection: 'GeometryCollection',
|
|
116
|
-
point: 'Point',
|
|
117
|
-
polygon: ['Polygon', 'MultiPolygon']
|
|
118
|
-
};
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* This component renders a map with controls for drawing one or more geometries. Geometries can be a point (lat/long),
|
|
122
|
-
* a line, or a polygon.
|
|
123
|
-
*/
|
|
124
|
-
const MapDraw = (props: Props) => {
|
|
125
|
-
const [loaded, setLoaded] = useState(false);
|
|
126
|
-
|
|
127
|
-
const drawRef = useRef<MapboxDraw>();
|
|
128
|
-
const mapRef = useRef<MapboxMap>();
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Returns true if the passed geometry type is valid. MapTiler fires the onSelection callback twice: Once after
|
|
132
|
-
* selecting the record from the list (with a point geometry), and once after making a call to the server for the
|
|
133
|
-
* full record (polygon geometry). We should on fire the onGeocodingSelection callback and add the geometry to the
|
|
134
|
-
* map once.
|
|
135
|
-
*
|
|
136
|
-
* @type {function({geometry: {type: *}}): *}
|
|
137
|
-
*/
|
|
138
|
-
const isValid = useCallback((detail) => {
|
|
139
|
-
if (!detail) {
|
|
140
|
-
return false;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
const { geometry: { type } } = detail;
|
|
144
|
-
|
|
145
|
-
return (props.geocoding === 'point' && type === GeometryTypes.point)
|
|
146
|
-
|| (props.geocoding === 'polygon' && GeometryTypes.polygon.includes(type));
|
|
147
|
-
}, [props.geocoding]);
|
|
148
|
-
|
|
149
|
-
/**
|
|
150
|
-
* Calls the onChange prop with all of the geometries in the current drawer.
|
|
151
|
-
*
|
|
152
|
-
* @type {(function(): void)|*}
|
|
153
|
-
*/
|
|
154
|
-
const onChange = useCallback(() => props.onChange(drawRef.current.getAll()), [props.onChange]);
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Adds the selected geometry to the map.
|
|
158
|
-
*
|
|
159
|
-
* @type {(function({feature: *}): void)|*}
|
|
160
|
-
*/
|
|
161
|
-
const onSelection = useCallback(({ feature }) => {
|
|
162
|
-
if (isValid(feature)) {
|
|
163
|
-
// Add the geometry to the map
|
|
164
|
-
drawRef.current.add(feature.geometry);
|
|
165
|
-
|
|
166
|
-
// Trigger the onChange prop
|
|
167
|
-
onChange();
|
|
168
|
-
|
|
169
|
-
// Call the onGeocoding selection callback
|
|
170
|
-
if (props.onGeocodingSelection) {
|
|
171
|
-
props.onGeocodingSelection(feature);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
}, [isValid, onChange, props.onGeocodingSelection]);
|
|
175
|
-
|
|
176
|
-
/**
|
|
177
|
-
* Sets the map style URL.
|
|
178
|
-
*
|
|
179
|
-
* @type {string}
|
|
180
|
-
*/
|
|
181
|
-
const mapStyleUrl = useMemo(() => `${props.mapStyle}?key=${props.apiKey}`, [props.apiKey, props.mapStyle]);
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Sets the element map style.
|
|
185
|
-
*
|
|
186
|
-
* @type {{width: string, height: number}}
|
|
187
|
-
*/
|
|
188
|
-
const style = useMemo(() => ({ height: 500, width: '100%', ...(props.style || {}) }), [props.style]);
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
* Updates the map bounding box and drawer when the geometry is changed.
|
|
192
|
-
*/
|
|
193
|
-
useEffect(() => {
|
|
194
|
-
if (loaded && props.data) {
|
|
195
|
-
// Sets the bounding box for the current geometry
|
|
196
|
-
const bbox = MapUtils.getBoundingBox(props.data, props.buffer);
|
|
197
|
-
|
|
198
|
-
if (bbox) {
|
|
199
|
-
mapRef.current.fitBounds(bbox, { duration: props.zoomDuration });
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
// Handle special cases for geometry collection (not supported by mabox-gl-draw) and point
|
|
203
|
-
if (props.data.type === GeometryTypes.geometryCollection) {
|
|
204
|
-
_.each(props.data.geometries, (geometry) => {
|
|
205
|
-
drawRef.current.add(feature(geometry));
|
|
206
|
-
});
|
|
207
|
-
} else {
|
|
208
|
-
drawRef.current.add(props.data);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
}, [loaded, props.data]);
|
|
212
|
-
|
|
213
|
-
return (
|
|
214
|
-
<Map
|
|
215
|
-
attributionControl={false}
|
|
216
|
-
cooperativeGestures={props.cooperativeGestures}
|
|
217
|
-
mapLib={maplibregl}
|
|
218
|
-
maxPitch={props.maxPitch}
|
|
219
|
-
onLoad={() => setLoaded(true)}
|
|
220
|
-
preserveDrawingBuffer={props.preserveDrawingBuffer}
|
|
221
|
-
ref={mapRef}
|
|
222
|
-
style={style}
|
|
223
|
-
mapStyle={mapStyleUrl}
|
|
224
|
-
>
|
|
225
|
-
<DrawControl
|
|
226
|
-
ref={drawRef}
|
|
227
|
-
controls={{
|
|
228
|
-
line_string: true,
|
|
229
|
-
point: true,
|
|
230
|
-
polygon: true,
|
|
231
|
-
trash: true
|
|
232
|
-
}}
|
|
233
|
-
displayControlsDefault={false}
|
|
234
|
-
onCreate={onChange}
|
|
235
|
-
onUpdate={onChange}
|
|
236
|
-
onDelete={onChange}
|
|
237
|
-
position='bottom-left'
|
|
238
|
-
/>
|
|
239
|
-
{ props.geocoding && (
|
|
240
|
-
<GeocodingControl
|
|
241
|
-
apiKey={props.apiKey}
|
|
242
|
-
key={props.geocoding}
|
|
243
|
-
marker={false}
|
|
244
|
-
pickedResultStyle={props.geocoding === 'polygon' ? 'full-geometry' : 'marker-only'}
|
|
245
|
-
position='top-left'
|
|
246
|
-
onSelection={onSelection}
|
|
247
|
-
showResultMarkers={false}
|
|
248
|
-
/>
|
|
249
|
-
)}
|
|
250
|
-
{ props.navigation && (
|
|
251
|
-
<NavigationControl />
|
|
252
|
-
)}
|
|
253
|
-
{ props.fullscreen && (
|
|
254
|
-
<FullscreenControl />
|
|
255
|
-
)}
|
|
256
|
-
{ props.children }
|
|
257
|
-
</Map>
|
|
258
|
-
);
|
|
259
|
-
};
|
|
260
|
-
|
|
261
|
-
MapDraw.defaultProps = {
|
|
262
|
-
buffer: DEFAULT_BUFFER,
|
|
263
|
-
cooperativeGestures: true,
|
|
264
|
-
preserveDrawingBuffer: false,
|
|
265
|
-
zoomDuration: DEFAULT_ZOOM_DELAY
|
|
266
|
-
};
|
|
267
|
-
|
|
268
|
-
export default MapDraw;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { Layer, Source } from 'react-map-gl/maplibre';
|
|
5
|
-
|
|
6
|
-
type Props = {
|
|
7
|
-
maxzoom?: number,
|
|
8
|
-
minzoom?: number,
|
|
9
|
-
opacity?: number,
|
|
10
|
-
tileSize?: number,
|
|
11
|
-
url?: string,
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
const RasterLayer = (props: Props) => (
|
|
15
|
-
<Source
|
|
16
|
-
tileSize={props.tileSize}
|
|
17
|
-
tiles={[props.url]}
|
|
18
|
-
type='raster'
|
|
19
|
-
>
|
|
20
|
-
<Layer
|
|
21
|
-
type='raster'
|
|
22
|
-
paint={{
|
|
23
|
-
'raster-opacity': props.opacity
|
|
24
|
-
}}
|
|
25
|
-
minzoom={props.minzoom}
|
|
26
|
-
maxzoom={props.maxzoom}
|
|
27
|
-
/>
|
|
28
|
-
</Source>
|
|
29
|
-
);
|
|
30
|
-
|
|
31
|
-
RasterLayer.defaultProps = {
|
|
32
|
-
maxzoom: 22,
|
|
33
|
-
minzoom: 0,
|
|
34
|
-
opacity: 0.7,
|
|
35
|
-
tileSize: 256
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export default RasterLayer;
|