UNPKG

@carto/react-basemaps

Version:
2 lines 5.85 kB
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("@deck.gl/google-maps"),require("@carto/react-core")):"function"==typeof define&&define.amd?define(["react","@deck.gl/google-maps","@carto/react-core"],t):"object"==typeof exports?exports.cartoReactBasemaps=t(require("react"),require("@deck.gl/google-maps"),require("@carto/react-core")):e.cartoReactBasemaps=t(e.react,e["@deck.gl/google-maps"],e["@carto/react-core"])}(self,((e,t,o)=>(()=>{"use strict";var r={485:e=>{e.exports=o},158:e=>{e.exports=t},156:t=>{t.exports=e}},n={};function a(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,a),o.exports}a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var o in t)a.o(t,o)&&!a.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var i={};return(()=>{function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(t,o,r){return(o=function(t){var o=function(t,o){if("object"!==e(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!==e(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"===e(o)?o:String(o)}(o))in t?Object.defineProperty(t,o,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[o]=r,t}var o;a.r(i),a.d(i,{BASEMAPS:()=>u,DARK_MATTER:()=>c,GOOGLE_CUSTOM:()=>d,GOOGLE_HYBRID:()=>l,GOOGLE_ROADMAP:()=>p,GOOGLE_SATELLITE:()=>s,GoogleMap:()=>v,POSITRON:()=>r,VOYAGER:()=>n});var r="positron",n="voyager",c="dark-matter",p="roadmap",s="satellite",l="hybrid",d="custom",u=(t(o={},r,{type:"mapbox",options:{mapStyle:"https://basemaps.cartocdn.com/gl/".concat(r,"-gl-style/style.json")}}),t(o,n,{type:"mapbox",options:{mapStyle:"https://basemaps.cartocdn.com/gl/".concat(n,"-gl-style/style.json")}}),t(o,c,{type:"mapbox",options:{mapStyle:"https://basemaps.cartocdn.com/gl/".concat(c,"-gl-style/style.json")}}),t(o,p,{type:"gmaps",options:{mapTypeId:"roadmap"}}),t(o,s,{type:"gmaps",options:{mapTypeId:s}}),t(o,l,{type:"gmaps",options:{mapTypeId:"hybrid"}}),t(o,d,{type:"gmaps",options:{}}),o);var g=a(156),m=a.n(g),y=a(158),f=a(485),w=["center","heading","tilt","zoom"];function b(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,r)}return o}function O(e){for(var o=1;o<arguments.length;o++){var r=null!=arguments[o]?arguments[o]:{};o%2?b(Object(r),!0).forEach((function(o){t(e,o,r[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):b(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function v(e){var t=e.basemap,o=e.viewState,r=e.layers,n=e.getTooltip,a=e.onClick,i=e.onResize,c=e.onViewStateChange,p=e.apiKey,s=e.mapId,l=e.customVersion,d=void 0===l?"":l,u=(0,g.useRef)(),b=function(e){window.google.maps.event.trigger(e,"resize")},v=e.style||{},S=O({position:"absolute",zIndex:0,left:0,top:0,width:e.width||"100%",height:e.height||"100%"},v),h=function(){var r=O({center:{lat:o.latitude,lng:o.longitude},mapTypeControl:!1,heading:o.bearing,tilt:o.pitch,zoom:o.zoom+1,fullscreenControl:!1,zoomControl:!1,streetViewControl:!1,mapId:s},t.options),p=0===u.current.children.length;if(!window.cartoGmap||p){var l=new window.google.maps.Map(u.current,r),d=new y.GoogleMapsOverlay({getTooltip:n}),g=(0,f.debounce)((function(){var t=l.getCenter(),o={longitude:t.lng(),latitude:t.lat(),zoom:Math.max(l.getZoom()-1,1),pitch:l.getTilt(),bearing:l.getHeading()};JSON.stringify(window.cartoViewState)!==JSON.stringify(o)&&(window.cartoViewState=o,c&&e.onViewStateChange({viewState:o}))}),200);l.addListener("bounds_changed",g),a&&l.addListener("click",a),l.addListener("resize",(function(){i&&i({height:l.getDiv().offsetHeight,width:l.getDiv().offsetWidth})})),window.onresize=function(){b(l)},b(l),window.cartoGmap=l,window.cartoDeck=d,window.cartoDeck.setMap(window.cartoGmap)}else{var m=r.center,v=r.heading,S=r.tilt,h=r.zoom,j=function(e,t){if(null==e)return{};var o,r,n=function(e,t){if(null==e)return{};var o,r,n={},a=Object.keys(e);for(r=0;r<a.length;r++)o=a[r],t.indexOf(o)>=0||(n[o]=e[o]);return n}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)o=a[r],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(n[o]=e[o])}return n}(r,w),P={longitude:m.lng,latitude:m.lat,zoom:h-1,pitch:S,bearing:v};JSON.stringify(window.cartoViewState)!==JSON.stringify(P)&&(window.cartoGmap.setCenter(m),window.cartoGmap.setHeading(v),window.cartoGmap.setTilt(S),window.cartoGmap.setZoom(h)),window.cartoGmap.setOptions(j),window.cartoDeck.setProps({getTooltip:n})}};return window.cartoDeck&&window.cartoDeck.setProps({layers:r}),(0,g.useEffect)((function(){if(document.querySelector("#gmaps"))document.querySelector("#gmaps")&&window.google&&h();else{var e=document.createElement("script");e.id="gmaps",e.async=!0,e.type="text/javascript";var t="https://maps.google.com/maps/api/js?key=".concat(p,"&callback=Function.prototype");d&&(t="".concat(t,"&v=").concat(d)),e.src=t;var o=document.getElementsByTagName("script")[0];o.parentNode.insertBefore(e,o),e.addEventListener("load",h)}})),m().createElement("div",{ref:u,style:S})}})(),i})())); //# sourceMappingURL=index.js.map