@react-google-maps/api
Version:
React.js Google Maps API integration
3 lines (2 loc) • 45.8 kB
JavaScript
"use strict";var e,t=require("react"),n=(e=require("invariant"))&&"object"==typeof e&&"default"in e?e.default:e,o=require("@react-google-maps/marker-clusterer"),r=require("react-dom"),s=require("@react-google-maps/infobox");function i(){return(i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e}).apply(this,arguments)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function p(e,t){if(null==e)return{};var n,o,r={},s=Object.keys(e);for(o=0;o<s.length;o++)t.indexOf(n=s[o])>=0||(r[n]=e[n]);return r}var c=t.createContext(null);function l(e){google.maps.event.removeListener(e)}function u(e){void 0===e&&(e=[]),e.forEach(l)}function d(e){var t=e.updaterMap,n=e.prevProps,o=e.nextProps,r=e.instance,s=function(e,t,n){return o=n,Object.keys(o).reduce((function(n,r){return s=n,"function"==typeof e[i=r]&&s.push(google.maps.event.addListener(t,o[r],e[i])),s;var s,i}),[]);var o}(o,r,e.eventMap);return function(e,t,n,o){var r,s={};r=e,Object.keys(r).forEach((function(e){return function(e,r){var i=n[r];i!==t[r]&&(s[r]=i,e(o,i))}(r[e],e)}))}(t,n,o,r),s}var h={onDblClick:"dblclick",onDragEnd:"dragend",onDragStart:"dragstart",onMapTypeIdChanged:"maptypeid_changed",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseDown:"mousedown",onMouseUp:"mouseup",onRightClick:"rightclick",onTilesLoaded:"tilesloaded",onBoundsChanged:"bounds_changed",onCenterChanged:"center_changed",onClick:"click",onDrag:"drag",onHeadingChanged:"heading_changed",onIdle:"idle",onProjectionChanged:"projection_changed",onResize:"resize",onTiltChanged:"tilt_changed",onZoomChanged:"zoom_changed"},g={extraMapTypes:function(e,t){t.forEach((function(t,n){e.mapTypes.set(String(n),t)}))},center:function(e,t){e.setCenter(t)},clickableIcons:function(e,t){e.setClickableIcons(t)},heading:function(e,t){e.setHeading(t)},mapTypeId:function(e,t){e.setMapTypeId(t)},options:function(e,t){e.setOptions(t)},streetView:function(e,t){e.setStreetView(t)},tilt:function(e,t){e.setTilt(t)},zoom:function(e,t){e.setZoom(t)}},f=function(e){function n(){var t;return(t=e.apply(this,arguments)||this).state={map:null},t.registeredEvents=[],t.mapRef=null,t.getInstance=function(){return null===t.mapRef?null:new google.maps.Map(t.mapRef,t.props.options)},t.panTo=function(e){var n=t.getInstance();n&&n.panTo(e)},t.setMapCallback=function(){null!==t.state.map&&t.props.onLoad&&t.props.onLoad(t.state.map)},t.getRef=function(e){t.mapRef=e},t}a(n,e);var o=n.prototype;return o.componentDidMount=function(){var e=this.getInstance();this.registeredEvents=d({updaterMap:g,eventMap:h,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{map:e}}),this.setMapCallback)},o.componentDidUpdate=function(e){null!==this.state.map&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:g,eventMap:h,prevProps:e,nextProps:this.props,instance:this.state.map}))},o.componentWillUnmount=function(){null!==this.state.map&&(this.props.onUnmount&&this.props.onUnmount(this.state.map),u(this.registeredEvents))},o.render=function(){return t.createElement("div",{id:this.props.id,ref:this.getRef,style:this.props.mapContainerStyle,className:this.props.mapContainerClassName},t.createElement(c.Provider,{value:this.state.map},null!==this.state.map?this.props.children:t.createElement(t.Fragment,null)))},n}(t.PureComponent),m="undefined"!=typeof document,v=function(e){var t=e.url,n=e.id,o=e.nonce;return m?new Promise((function(e,r){var s=document.getElementById(n),i=window;if(s){var a=s.getAttribute("data-state");if(s.src===t&&"error"!==a){if("ready"===a)return e(n);var p=i.initMap,c=s.onerror;return i.initMap=function(){p&&p(),e(n)},void(s.onerror=function(e){c&&c(e),r(e)})}s.remove()}var l=document.createElement("script");l.type="text/javascript",l.src=t,l.id=n,l.async=!0,l.nonce=o,l.onerror=function(e){l.setAttribute("data-state","error"),r(e)},i.initMap=function(){l.setAttribute("data-state","ready"),e(n)},document.head.appendChild(l)})).catch((function(e){throw console.error("injectScript error: ",e),e})):Promise.reject(new Error("document is undefined"))},y=function(e){return!((!e.href||0!==e.href.indexOf("https://fonts.googleapis.com/css?family=Roboto"))&&("style"===e.tagName.toLowerCase()&&e.styleSheet&&e.styleSheet.cssText&&0===e.styleSheet.cssText.replace("\r\n","").indexOf(".gm-style")?(e.styleSheet.cssText="",0):"style"===e.tagName.toLowerCase()&&e.innerHTML&&0===e.innerHTML.replace("\r\n","").indexOf(".gm-style")?(e.innerHTML="",0):"style"!==e.tagName.toLowerCase()||e.styleSheet||e.innerHTML))},M=function(){var e=document.getElementsByTagName("head")[0],t=e.insertBefore.bind(e);e.insertBefore=function(n,o){y(n)||Reflect.apply(t,e,[n,o])};var n=e.appendChild.bind(e);e.appendChild=function(t){y(t)||Reflect.apply(n,e,[t])}};function C(e){var t=e.googleMapsApiKey,o=e.googleMapsClientId,r=e.version,s=void 0===r?"weekly":r,i=e.language,a=e.region,p=e.libraries,c=e.channel,l=[];return t&&o||!t||!o||n(!1),t?l.push("key="+t):o&&l.push("client="+o),s&&l.push("v="+s),i&&l.push("language="+i),a&&l.push("region="+a),p&&p.length&&l.push("libraries="+p.sort().join(",")),c&&l.push("channel="+c),l.push("callback=initMap"),"https://maps.googleapis.com/maps/api/js?"+l.join("&")}var x=!1;function E(){return t.createElement("div",null,"Loading...")}var P,k={id:"script-loader",version:"weekly"},L=function(e){function o(){var o;return(o=e.apply(this,arguments)||this).check=t.createRef(),o.state={loaded:!1},o.cleanupCallback=function(){delete window.google.maps,o.injectScript()},o.isCleaningUp=function(){try{return Promise.resolve(new Promise((function(e){if(x){if(m)var t=window.setInterval((function(){x||(window.clearInterval(t),e())}),1)}else e()})))}catch(e){return Promise.reject(e)}},o.cleanup=function(){x=!0;var e=document.getElementById(o.props.id);e&&e.parentNode&&e.parentNode.removeChild(e),Array.prototype.slice.call(document.getElementsByTagName("script")).filter((function(e){return"string"==typeof e.src&&e.src.includes("maps.googleapis")})).forEach((function(e){e.parentNode&&e.parentNode.removeChild(e)})),Array.prototype.slice.call(document.getElementsByTagName("link")).filter((function(e){return"https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans"===e.href})).forEach((function(e){e.parentNode&&e.parentNode.removeChild(e)})),Array.prototype.slice.call(document.getElementsByTagName("style")).filter((function(e){return void 0!==e.innerText&&e.innerText.length>0&&e.innerText.includes(".gm-")})).forEach((function(e){e.parentNode&&e.parentNode.removeChild(e)}))},o.injectScript=function(){o.props.preventGoogleFontsLoading&&M(),o.props.id||n(!1);var e={id:o.props.id,nonce:o.props.nonce,url:C(o.props)};v(e).then((function(){o.props.onLoad&&o.props.onLoad(),o.setState((function(){return{loaded:!0}}))})).catch((function(e){o.props.onError&&o.props.onError(e),console.error("\n There has been an Error with loading Google Maps API script, please check that you provided correct google API key ("+(o.props.googleMapsApiKey||"-")+") or Client ID ("+(o.props.googleMapsClientId||"-")+") to <LoadScript />\n Otherwise it is a Network issue.\n ")}))},o}a(o,e);var r=o.prototype;return r.componentDidMount=function(){if(m){if(window.google&&window.google.maps&&!x)return void console.error("google api is already presented");this.isCleaningUp().then(this.injectScript).catch((function(e){console.error("Error at injecting script after cleaning up: ",e)}))}},r.componentDidUpdate=function(e){this.props.libraries!==e.libraries&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),m&&e.language!==this.props.language&&(this.cleanup(),this.setState((function(){return{loaded:!1}}),this.cleanupCallback))},r.componentWillUnmount=function(){var e=this;m&&(this.cleanup(),window.setTimeout((function(){e.check.current||(delete window.google,x=!1)}),1),this.props.onUnmount&&this.props.onUnmount())},r.render=function(){return t.createElement(t.Fragment,null,t.createElement("div",{ref:this.check}),this.state.loaded?this.props.children:this.props.loadingElement||t.createElement(E,null))},o}(t.PureComponent);function w(e){var o=e.id,r=void 0===o?k.id:o,s=e.version,i=void 0===s?k.version:s,a=e.nonce,p=e.googleMapsApiKey,c=e.googleMapsClientId,l=e.language,u=e.region,d=e.libraries,h=e.preventGoogleFontsLoading,g=e.channel,f=t.useRef(!1),y=t.useState(!1),x=y[0],E=y[1],L=t.useState(void 0),w=L[0],b=L[1];t.useEffect((function(){return f.current=!0,function(){f.current=!1}}),[]),t.useEffect((function(){m&&h&&M()}),[h]),t.useEffect((function(){x&&(window.google||n(!1))}),[x]);var S=C({version:i,googleMapsApiKey:p,googleMapsClientId:c,language:l,region:u,libraries:d,channel:g});t.useEffect((function(){function e(){f.current&&(E(!0),P=S)}m&&(window.google&&window.google.maps&&P===S?e():v({id:r,url:S,nonce:a}).then(e).catch((function(e){f.current&&b(e),console.warn("\n There has been an Error with loading Google Maps API script, please check that you provided correct google API key ("+(p||"-")+") or Client ID ("+(c||"-")+")\n Otherwise it is a Network issue.\n "),console.error(e)})))}),[r,S,a]);var D=t.useRef();return t.useEffect((function(){D.current&&d!==D.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),D.current=d}),[d]),{isLoaded:x,loadError:w,url:S}}L.defaultProps=k;var b=t.createElement(E,null);function S(e){var n=e.loadingElement,o=e.onLoad,r=e.onError,s=e.onUnmount,i=e.children,a=w(p(e,["loadingElement","onLoad","onError","onUnmount","children"])),c=a.isLoaded,l=a.loadError;return t.useEffect((function(){c&&"function"==typeof o&&o()}),[c,o]),t.useEffect((function(){l&&"function"==typeof r&&r(l)}),[l,r]),t.useEffect((function(){return function(){s&&s()}}),[s]),c?i:n||b}var D=t.memo(S),U={},R={options:function(e,t){e.setOptions(t)}},T=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).state={trafficLayer:null},t.setTrafficLayerCallback=function(){null!==t.state.trafficLayer&&t.props.onLoad&&t.props.onLoad(t.state.trafficLayer)},t.registeredEvents=[],t}a(t,e);var n=t.prototype;return n.componentDidMount=function(){var e=new google.maps.TrafficLayer(i({},this.props.options||{},{map:this.context}));this.registeredEvents=d({updaterMap:R,eventMap:U,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{trafficLayer:e}}),this.setTrafficLayerCallback)},n.componentDidUpdate=function(e){null!==this.state.trafficLayer&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:R,eventMap:U,prevProps:e,nextProps:this.props,instance:this.state.trafficLayer}))},n.componentWillUnmount=function(){null!==this.state.trafficLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.trafficLayer),u(this.registeredEvents),this.state.trafficLayer.setMap(null))},n.render=function(){return null},t}(t.PureComponent);T.contextType=c;var O=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).state={bicyclingLayer:null},t.setBicyclingLayerCallback=function(){null!==t.state.bicyclingLayer&&(t.state.bicyclingLayer.setMap(t.context),t.props.onLoad&&t.props.onLoad(t.state.bicyclingLayer))},t}a(t,e);var n=t.prototype;return n.componentDidMount=function(){var e=new google.maps.BicyclingLayer;this.setState((function(){return{bicyclingLayer:e}}),this.setBicyclingLayerCallback)},n.componentWillUnmount=function(){null!==this.state.bicyclingLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.bicyclingLayer),this.state.bicyclingLayer.setMap(null))},n.render=function(){return null},t}(t.PureComponent);O.contextType=c;var I=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).state={transitLayer:null},t.setTransitLayerCallback=function(){null!==t.state.transitLayer&&(t.state.transitLayer.setMap(t.context),t.props.onLoad&&t.props.onLoad(t.state.transitLayer))},t}a(t,e);var n=t.prototype;return n.componentDidMount=function(){var e=new google.maps.TransitLayer;this.setState((function(){return{transitLayer:e}}),this.setTransitLayerCallback)},n.componentWillUnmount=function(){null!==this.state.transitLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.transitLayer),this.state.transitLayer.setMap(null))},n.render=function(){return null},t}(t.PureComponent);I.contextType=c;var V={onCircleComplete:"circlecomplete",onMarkerComplete:"markercomplete",onOverlayComplete:"overlaycomplete",onPolygonComplete:"polygoncomplete",onPolylineComplete:"polylinecomplete",onRectangleComplete:"rectanglecomplete"},_={drawingMode:function(e,t){e.setDrawingMode(t)},options:function(e,t){e.setOptions(t)}},B=function(e){function o(t){var o;return(o=e.call(this,t)||this).registeredEvents=[],o.state={drawingManager:null},o.setDrawingManagerCallback=function(){null!==o.state.drawingManager&&o.props.onLoad&&o.props.onLoad(o.state.drawingManager)},google.maps.drawing||n(!1),o}a(o,e);var r=o.prototype;return r.componentDidMount=function(){var e=new google.maps.drawing.DrawingManager(i({},this.props.options||{},{map:this.context}));this.registeredEvents=d({updaterMap:_,eventMap:V,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{drawingManager:e}}),this.setDrawingManagerCallback)},r.componentDidUpdate=function(e){null!==this.state.drawingManager&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:_,eventMap:V,prevProps:e,nextProps:this.props,instance:this.state.drawingManager}))},r.componentWillUnmount=function(){null!==this.state.drawingManager&&(this.props.onUnmount&&this.props.onUnmount(this.state.drawingManager),u(this.registeredEvents),this.state.drawingManager.setMap(null))},r.render=function(){return t.createElement(t.Fragment,null)},o}(t.PureComponent);B.contextType=c;var W={onAnimationChanged:"animation_changed",onClick:"click",onClickableChanged:"clickable_changed",onCursorChanged:"cursor_changed",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDraggableChanged:"draggable_changed",onDragStart:"dragstart",onFlatChanged:"flat_changed",onIconChanged:"icon_changed",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onPositionChanged:"position_changed",onRightClick:"rightclick",onShapeChanged:"shape_changed",onTitleChanged:"title_changed",onVisibleChanged:"visible_changed",onZindexChanged:"zindex_changed"},A={animation:function(e,t){e.setAnimation(t)},clickable:function(e,t){e.setClickable(t)},cursor:function(e,t){e.setCursor(t)},draggable:function(e,t){e.setDraggable(t)},icon:function(e,t){e.setIcon(t)},label:function(e,t){e.setLabel(t)},map:function(e,t){e.setMap(t)},opacity:function(e,t){e.setOpacity(t)},options:function(e,t){e.setOptions(t)},position:function(e,t){e.setPosition(t)},shape:function(e,t){e.setShape(t)},title:function(e,t){e.setTitle(t)},visible:function(e,t){e.setVisible(t)},zIndex:function(e,t){e.setZIndex(t)}},N=function(e){function n(){var t;return(t=e.apply(this,arguments)||this).registeredEvents=[],t.state={marker:null},t.setMarkerCallback=function(){null!==t.state.marker&&t.props.onLoad&&t.props.onLoad(t.state.marker)},t}a(n,e);var o=n.prototype;return o.componentDidMount=function(){var e=i({},this.props.options||{},{},this.props.clusterer?{}:{map:this.context},{position:this.props.position}),t=new google.maps.Marker(e);this.props.clusterer?this.props.clusterer.addMarker(t,!!this.props.noClustererRedraw):t.setMap(this.context),this.registeredEvents=d({updaterMap:A,eventMap:W,prevProps:{},nextProps:this.props,instance:t}),this.setState((function(){return{marker:t}}),this.setMarkerCallback)},o.componentDidUpdate=function(e){null!==this.state.marker&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:A,eventMap:W,prevProps:e,nextProps:this.props,instance:this.state.marker}))},o.componentWillUnmount=function(){null!==this.state.marker&&(this.props.onUnmount&&this.props.onUnmount(this.state.marker),u(this.registeredEvents),this.props.clusterer?this.props.clusterer.removeMarker(this.state.marker,!!this.props.noClustererRedraw):this.state.marker&&this.state.marker.setMap(null))},o.render=function(){var e=this,n=null;return this.props.children&&(n=t.Children.map(this.props.children,(function(n){return t.isValidElement(n)?t.cloneElement(n,{anchor:e.state.marker}):n}))),n||null},n}(t.PureComponent);N.contextType=c;var j={onClick:"click",onClusteringBegin:"clusteringbegin",onClusteringEnd:"clusteringend",onMouseOut:"mouseout",onMouseOver:"mouseover"},z={averageCenter:function(e,t){e.setAverageCenter(t)},batchSizeIE:function(e,t){e.setBatchSizeIE(t)},calculator:function(e,t){e.setCalculator(t)},clusterClass:function(e,t){e.setClusterClass(t)},enableRetinaIcons:function(e,t){e.setEnableRetinaIcons(t)},gridSize:function(e,t){e.setGridSize(t)},ignoreHidden:function(e,t){e.setIgnoreHidden(t)},imageExtension:function(e,t){e.setImageExtension(t)},imagePath:function(e,t){e.setImagePath(t)},imageSizes:function(e,t){e.setImageSizes(t)},maxZoom:function(e,t){e.setMaxZoom(t)},minimumClusterSize:function(e,t){e.setMinimumClusterSize(t)},styles:function(e,t){e.setStyles(t)},title:function(e,t){e.setTitle(t)},zoomOnClick:function(e,t){e.setZoomOnClick(t)}},F=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).registeredEvents=[],t.state={markerClusterer:null},t.setClustererCallback=function(){null!==t.state.markerClusterer&&t.props.onLoad&&t.props.onLoad(t.state.markerClusterer)},t}a(t,e);var n=t.prototype;return n.componentDidMount=function(){if(this.context){var e=new o.Clusterer(this.context,[],this.props.options);this.registeredEvents=d({updaterMap:z,eventMap:j,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{markerClusterer:e}}),this.setClustererCallback)}},n.componentDidUpdate=function(e){this.state.markerClusterer&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:z,eventMap:j,prevProps:e,nextProps:this.props,instance:this.state.markerClusterer}))},n.componentWillUnmount=function(){null!==this.state.markerClusterer&&(this.props.onUnmount&&this.props.onUnmount(this.state.markerClusterer),u(this.registeredEvents),this.state.markerClusterer.setMap(null))},n.render=function(){return null!==this.state.markerClusterer?this.props.children(this.state.markerClusterer):null},t}(t.PureComponent);F.contextType=c;var G={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},Z={options:function(e,t){e.setOptions(t)},position:function(e,t){t instanceof google.maps.LatLng?e.setPosition(t):e.setPosition(new google.maps.LatLng(t.lat,t.lng))},visible:function(e,t){e.setVisible(t)},zIndex:function(e,t){e.setZIndex(t)}},H=function(e){function o(){var t;return(t=e.apply(this,arguments)||this).registeredEvents=[],t.containerElement=null,t.state={infoBox:null},t.open=function(e,o){o?e.open(t.context,o):e.getPosition()?e.open(t.context):n(!1)},t.setInfoBoxCallback=function(){var e=t.props,n=e.anchor,o=e.onLoad,r=t.state.infoBox;null!==r&&null!==t.containerElement&&(r.setContent(t.containerElement),t.open(r,n),o&&o(r))},t}a(o,e);var c=o.prototype;return c.componentDidMount=function(){var e,t=this.props.options||{},n=t.position,o=p(t,["position"]);!n||n instanceof google.maps.LatLng||(e=new google.maps.LatLng(n.lat,n.lng));var r=new s.InfoBox(i({},o,{},e?{position:e}:{}));this.containerElement=document.createElement("div"),this.registeredEvents=d({updaterMap:Z,eventMap:G,prevProps:{},nextProps:this.props,instance:r}),this.setState({infoBox:r},this.setInfoBoxCallback)},c.componentDidUpdate=function(e){var t=this.state.infoBox;null!==t&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:Z,eventMap:G,prevProps:e,nextProps:this.props,instance:t}))},c.componentWillUnmount=function(){var e=this.props.onUnmount,t=this.state.infoBox;null!==t&&(e&&e(t),u(this.registeredEvents),t.close())},c.render=function(){return this.containerElement?r.createPortal(t.Children.only(this.props.children),this.containerElement):null},o}(t.PureComponent);H.contextType=c;var K={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},q={options:function(e,t){e.setOptions(t)},position:function(e,t){e.setPosition(t)},zIndex:function(e,t){e.setZIndex(t)}},Y=function(e){function o(){var t;return(t=e.apply(this,arguments)||this).registeredEvents=[],t.containerElement=null,t.state={infoWindow:null},t.open=function(e,o){o?e.open(t.context,o):e.getPosition()?e.open(t.context):n(!1)},t.setInfoWindowCallback=function(){null!==t.state.infoWindow&&null!==t.containerElement&&(t.state.infoWindow.setContent(t.containerElement),t.open(t.state.infoWindow,t.props.anchor),t.props.onLoad&&t.props.onLoad(t.state.infoWindow))},t}a(o,e);var s=o.prototype;return s.componentDidMount=function(){var e=new google.maps.InfoWindow(i({},this.props.options||{}));this.containerElement=document.createElement("div"),this.registeredEvents=d({updaterMap:q,eventMap:K,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{infoWindow:e}}),this.setInfoWindowCallback)},s.componentDidUpdate=function(e){null!==this.state.infoWindow&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:q,eventMap:K,prevProps:e,nextProps:this.props,instance:this.state.infoWindow}))},s.componentWillUnmount=function(){null!==this.state.infoWindow&&(u(this.registeredEvents),this.state.infoWindow.close())},s.render=function(){return this.containerElement?r.createPortal(t.Children.only(this.props.children),this.containerElement):t.createElement(t.Fragment,null)},o}(t.PureComponent);Y.contextType=c;var J={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},Q={draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},path:function(e,t){e.setPath(t)},visible:function(e,t){e.setVisible(t)}},X=function(e){function n(){var t;return(t=e.apply(this,arguments)||this).registeredEvents=[],t.state={polyline:null},t.setPolylineCallback=function(){null!==t.state.polyline&&t.props.onLoad&&t.props.onLoad(t.state.polyline)},t}a(n,e);var o=n.prototype;return o.componentDidMount=function(){var e=new google.maps.Polyline(i({},this.props.options||{},{map:this.context}));this.registeredEvents=d({updaterMap:Q,eventMap:J,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{polyline:e}}),this.setPolylineCallback)},o.componentDidUpdate=function(e){null!==this.state.polyline&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:Q,eventMap:J,prevProps:e,nextProps:this.props,instance:this.state.polyline}))},o.componentWillUnmount=function(){null!==this.state.polyline&&(this.props.onUnmount&&this.props.onUnmount(this.state.polyline),u(this.registeredEvents),this.state.polyline.setMap(null))},o.render=function(){return t.createElement(t.Fragment,null)},n}(t.PureComponent);X.contextType=c;var $={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},ee={draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},path:function(e,t){e.setPath(t)},paths:function(e,t){e.setPaths(t)},visible:function(e,t){e.setVisible(t)}},te=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).registeredEvents=[],t.state={polygon:null},t.setPolygonCallback=function(){null!==t.state.polygon&&t.props.onLoad&&t.props.onLoad(t.state.polygon)},t}a(t,e);var n=t.prototype;return n.componentDidMount=function(){var e=new google.maps.Polygon(i({},this.props.options||{},{map:this.context}));this.registeredEvents=d({updaterMap:ee,eventMap:$,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{polygon:e}}),this.setPolygonCallback)},n.componentDidUpdate=function(e){null!==this.state.polygon&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:ee,eventMap:$,prevProps:e,nextProps:this.props,instance:this.state.polygon}))},n.componentWillUnmount=function(){null!==this.state.polygon&&(this.props.onUnmount&&this.props.onUnmount(this.state.polygon),u(this.registeredEvents),this.state.polygon&&this.state.polygon.setMap(null))},n.render=function(){return null},t}(t.PureComponent);te.contextType=c;var ne={onBoundsChanged:"bounds_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},oe={bounds:function(e,t){e.setBounds(t)},draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},visible:function(e,t){e.setVisible(t)}},re=function(e){function n(){var t;return(t=e.apply(this,arguments)||this).registeredEvents=[],t.state={rectangle:null},t.setRectangleCallback=function(){null!==t.state.rectangle&&t.props.onLoad&&t.props.onLoad(t.state.rectangle)},t}a(n,e);var o=n.prototype;return o.componentDidMount=function(){var e=new google.maps.Rectangle(i({},this.props.options||{},{map:this.context}));this.registeredEvents=d({updaterMap:oe,eventMap:ne,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{rectangle:e}}),this.setRectangleCallback)},o.componentDidUpdate=function(e){null!==this.state.rectangle&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:oe,eventMap:ne,prevProps:e,nextProps:this.props,instance:this.state.rectangle}))},o.componentWillUnmount=function(){null!==this.state.rectangle&&(this.props.onUnmount&&this.props.onUnmount(this.state.rectangle),u(this.registeredEvents),this.state.rectangle.setMap(null))},o.render=function(){return t.createElement(t.Fragment,null)},n}(t.PureComponent);re.contextType=c;var se={onCenterChanged:"center_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRadiusChanged:"radius_changed",onRightClick:"rightclick"},ie={center:function(e,t){e.setCenter(t)},draggable:function(e,t){e.setDraggable(t)},editable:function(e,t){e.setEditable(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},radius:function(e,t){e.setRadius(t)},visible:function(e,t){e.setVisible(t)}},ae=function(e){function n(){var t;return(t=e.apply(this,arguments)||this).registeredEvents=[],t.state={circle:null},t.setCircleCallback=function(){null!==t.state.circle&&t.props.onLoad&&t.props.onLoad(t.state.circle)},t}a(n,e);var o=n.prototype;return o.componentDidMount=function(){var e=new google.maps.Circle(i({},this.props.options||{},{map:this.context}));this.registeredEvents=d({updaterMap:ie,eventMap:se,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{circle:e}}),this.setCircleCallback)},o.componentDidUpdate=function(e){null!==this.state.circle&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:ie,eventMap:se,prevProps:e,nextProps:this.props,instance:this.state.circle}))},o.componentWillUnmount=function(){null!==this.state.circle&&(this.props.onUnmount&&this.props.onUnmount(this.state.circle),u(this.registeredEvents),this.state.circle&&this.state.circle.setMap(null))},o.render=function(){return t.createElement(t.Fragment,null)},n}(t.PureComponent);ae.contextType=c;var pe={onAddFeature:"addfeature",onClick:"click",onDblClick:"dblclick",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRemoveFeature:"removefeature",onRemoveProperty:"removeproperty",onRightClick:"rightclick",onSetGeometry:"setgeometry",onSetProperty:"setproperty"},ce={add:function(e,t){e.add(t)},addgeojson:function(e,t,n){e.addGeoJson(t,n)},contains:function(e,t){e.contains(t)},foreach:function(e,t){e.forEach(t)},loadgeojson:function(e,t,n,o){e.loadGeoJson(t,n,o)},overridestyle:function(e,t,n){e.overrideStyle(t,n)},remove:function(e,t){e.remove(t)},revertstyle:function(e,t){e.revertStyle(t)},controlposition:function(e,t){e.setControlPosition(t)},controls:function(e,t){e.setControls(t)},drawingmode:function(e,t){e.setDrawingMode(t)},map:function(e,t){e.setMap(t)},style:function(e,t){e.setStyle(t)},togeojson:function(e,t){e.toGeoJson(t)}},le=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).registeredEvents=[],t.state={data:null},t.setDataCallback=function(){null!==t.state.data&&t.props.onLoad&&t.props.onLoad(t.state.data)},t}a(t,e);var n=t.prototype;return n.componentDidMount=function(){var e=new google.maps.Data(i({},this.props.options||{},{map:this.context}));this.registeredEvents=d({updaterMap:ce,eventMap:pe,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{data:e}}),this.setDataCallback)},n.componentDidUpdate=function(e){null!==this.state.data&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:ce,eventMap:pe,prevProps:e,nextProps:this.props,instance:this.state.data}))},n.componentWillUnmount=function(){null!==this.state.data&&(this.props.onUnmount&&this.props.onUnmount(this.state.data),u(this.registeredEvents),this.state.data&&this.state.data.setMap(null))},n.render=function(){return null},t}(t.PureComponent);le.contextType=c;var ue={onClick:"click",onDefaultViewportChanged:"defaultviewport_changed",onStatusChanged:"status_changed"},de={options:function(e,t){e.setOptions(t)},url:function(e,t){e.setUrl(t)},zIndex:function(e,t){e.setZIndex(t)}},he=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).registeredEvents=[],t.state={kmlLayer:null},t.setKmlLayerCallback=function(){null!==t.state.kmlLayer&&t.props.onLoad&&t.props.onLoad(t.state.kmlLayer)},t}a(t,e);var n=t.prototype;return n.componentDidMount=function(){var e=new google.maps.KmlLayer(i({},this.props.options,{map:this.context}));this.registeredEvents=d({updaterMap:de,eventMap:ue,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{kmlLayer:e}}),this.setKmlLayerCallback)},n.componentDidUpdate=function(e){null!==this.state.kmlLayer&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:de,eventMap:ue,prevProps:e,nextProps:this.props,instance:this.state.kmlLayer}))},n.componentWillUnmount=function(){null!==this.state.kmlLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.kmlLayer),u(this.registeredEvents),this.state.kmlLayer.setMap(null))},n.render=function(){return null},t}(t.PureComponent);he.contextType=c;var ge=function(e,t){return new t(e.lat,e.lng)},fe=function(e,t){return new t(new google.maps.LatLng(e.ne.lat,e.ne.lng),new google.maps.LatLng(e.sw.lat,e.sw.lng))},me=function(e,t,n){return e instanceof t?e:n(e,t)};function ve(e){return e?(e instanceof google.maps.LatLng?e:new google.maps.LatLng(e.lat,e.lng))+"":""}function ye(e){return e?(e instanceof google.maps.LatLngBounds?e:new google.maps.LatLngBounds(new google.maps.LatLng(e.south,e.east),new google.maps.LatLng(e.north,e.west)))+"":""}var Me=function(e){function o(o){var r;(r=e.call(this,o)||this).state={paneEl:null,containerStyle:{position:"absolute"}},r.updatePane=function(){var e=r.props.mapPaneName,t=r.overlayView.getPanes();e||n(!1),r.setState(t?{paneEl:t[e]}:{paneEl:null})},r.onAdd=function(){var e,t;r.updatePane(),null===(e=(t=r.props).onLoad)||void 0===e||e.call(t,r.overlayView)},r.onPositionElement=function(){var e,t,n,o,s,a,p=(n=r.overlayView.getProjection(),o=i({x:0,y:0},r.containerRef.current?(e=r.containerRef.current,"function"==typeof(t=r.props.getPixelPositionOffset)?t(e.offsetWidth,e.offsetHeight):{}):{}),a=r.props.position,void 0!==(s=r.props.bounds)?function(e,t,n){var o=e&&e.fromLatLngToDivPixel(n.getNorthEast()),r=e&&e.fromLatLngToDivPixel(n.getSouthWest());return o&&r?{left:r.x+t.x+"px",top:o.y+t.y+"px",width:o.x-r.x-t.x+"px",height:r.y-o.y-t.y+"px"}:{left:"-9999px",top:"-9999px"}}(n,o,me(s,google.maps.LatLngBounds,fe)):function(e,t,n){var o=e&&e.fromLatLngToDivPixel(n);return o?{left:o.x+t.x+"px",top:o.y+t.y+"px"}:{left:"-9999px",top:"-9999px"}}(n,o,me(a,google.maps.LatLng,ge)));r.setState({containerStyle:i({},p,{position:"absolute"})})},r.draw=function(){r.onPositionElement()},r.onRemove=function(){var e,t;r.setState((function(){return{paneEl:null}})),null===(e=(t=r.props).onUnmount)||void 0===e||e.call(t,r.overlayView)},r.containerRef=t.createRef();var s=new google.maps.OverlayView;return s.onAdd=r.onAdd,s.draw=r.draw,s.onRemove=r.onRemove,r.overlayView=s,r}a(o,e);var s=o.prototype;return s.componentDidMount=function(){this.overlayView.setMap(this.context)},s.componentDidUpdate=function(e){var t=ve(e.position),n=ve(this.props.position),o=ye(e.bounds),r=ye(this.props.bounds);t===n&&o===r||this.overlayView.draw(),e.mapPaneName!==this.props.mapPaneName&&this.updatePane()},s.componentWillUnmount=function(){this.overlayView.setMap(null)},s.render=function(){var e=this.state.paneEl;return e?r.createPortal(t.createElement("div",{ref:this.containerRef,style:this.state.containerStyle},t.Children.only(this.props.children)),e):null},o}(t.PureComponent);Me.FLOAT_PANE="floatPane",Me.MAP_PANE="mapPane",Me.MARKER_LAYER="markerLayer",Me.OVERLAY_LAYER="overlayLayer",Me.OVERLAY_MOUSE_TARGET="overlayMouseTarget",Me.contextType=c;var Ce={onDblClick:"dblclick",onClick:"click"},xe={opacity:function(e,t){e.setOpacity(t)}},Ee=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).registeredEvents=[],t.state={groundOverlay:null},t.setGroundOverlayCallback=function(){null!==t.state.groundOverlay&&t.props.onLoad&&t.props.onLoad(t.state.groundOverlay)},t}a(t,e);var o=t.prototype;return o.componentDidMount=function(){this.props.url||this.props.bounds||n(!1);var e=new google.maps.GroundOverlay(this.props.url,this.props.bounds,i({},this.props.options,{map:this.context}));this.registeredEvents=d({updaterMap:xe,eventMap:Ce,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{groundOverlay:e}}),this.setGroundOverlayCallback)},o.componentDidUpdate=function(e){null!==this.state.groundOverlay&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:xe,eventMap:Ce,prevProps:e,nextProps:this.props,instance:this.state.groundOverlay}))},o.componentWillUnmount=function(){this.state.groundOverlay&&(this.props.onUnmount&&this.props.onUnmount(this.state.groundOverlay),this.state.groundOverlay.setMap(null))},o.render=function(){return null},t}(t.PureComponent);Ee.defaultProps={onLoad:function(){}},Ee.contextType=c;var Pe={},ke={data:function(e,t){e.setData(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)}},Le=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).registeredEvents=[],t.state={heatmapLayer:null},t.setHeatmapLayerCallback=function(){null!==t.state.heatmapLayer&&t.props.onLoad&&t.props.onLoad(t.state.heatmapLayer)},t}a(t,e);var o=t.prototype;return o.componentDidMount=function(){google.maps.visualization||n(!1),this.props.data||n(!1);var e=new google.maps.visualization.HeatmapLayer(i({},this.props.options||{},{data:this.props.data,map:this.context}));this.registeredEvents=d({updaterMap:ke,eventMap:Pe,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{heatmapLayer:e}}),this.setHeatmapLayerCallback)},o.componentDidUpdate=function(e){u(this.registeredEvents),this.registeredEvents=d({updaterMap:ke,eventMap:Pe,prevProps:e,nextProps:this.props,instance:this.state.heatmapLayer})},o.componentWillUnmount=function(){null!==this.state.heatmapLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.heatmapLayer),u(this.registeredEvents),this.state.heatmapLayer.setMap(null))},o.render=function(){return null},t}(t.PureComponent);Le.contextType=c;var we={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},be={register:function(e,t,n){e.registerPanoProvider(t,n)},links:function(e,t){e.setLinks(t)},motionTracking:function(e,t){e.setMotionTracking(t)},options:function(e,t){e.setOptions(t)},pano:function(e,t){e.setPano(t)},position:function(e,t){e.setPosition(t)},pov:function(e,t){e.setPov(t)},visible:function(e,t){e.setVisible(t)},zoom:function(e,t){e.setZoom(t)}},Se=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).registeredEvents=[],t.state={streetViewPanorama:null},t.setStreetViewPanoramaCallback=function(){null!==t.state.streetViewPanorama&&t.props.onLoad&&t.props.onLoad(t.state.streetViewPanorama)},t}a(t,e);var n=t.prototype;return n.componentDidMount=function(){var e=this.context.getStreetView();this.registeredEvents=d({updaterMap:be,eventMap:we,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{streetViewPanorama:e}}),this.setStreetViewPanoramaCallback)},n.componentDidUpdate=function(e){null!==this.state.streetViewPanorama&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:be,eventMap:we,prevProps:e,nextProps:this.props,instance:this.state.streetViewPanorama}))},n.componentWillUnmount=function(){null!==this.state.streetViewPanorama&&(this.props.onUnmount&&this.props.onUnmount(this.state.streetViewPanorama),u(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))},n.render=function(){return null},t}(t.PureComponent);Se.contextType=c;var De=function(e){function t(){var t;return(t=e.apply(this,arguments)||this).state={streetViewService:null},t.setStreetViewServiceCallback=function(){null!==t.state.streetViewService&&t.props.onLoad&&t.props.onLoad(t.state.streetViewService)},t}a(t,e);var n=t.prototype;return n.componentDidMount=function(){var e=new google.maps.StreetViewService;this.setState((function(){return{streetViewService:e}}),this.setStreetViewServiceCallback)},n.componentWillUnmount=function(){null!==this.state.streetViewService&&this.props.onUnmount&&this.props.onUnmount(this.state.streetViewService)},n.render=function(){return null},t}(t.PureComponent);De.contextType=c;var Ue=function(e){function o(){var t;return(t=e.apply(this,arguments)||this).state={directionsService:null},t.setDirectionsServiceCallback=function(){null!==t.state.directionsService&&t.props.onLoad&&t.props.onLoad(t.state.directionsService)},t}a(o,e);var r=o.prototype;return r.componentDidMount=function(){this.props.options||n(!1);var e=new google.maps.DirectionsService;this.setState((function(){return{directionsService:e}}),this.setDirectionsServiceCallback)},r.componentDidUpdate=function(){null!==this.state.directionsService&&this.state.directionsService.route(this.props.options,this.props.callback)},r.componentWillUnmount=function(){null!==this.state.directionsService&&this.props.onUnmount&&this.props.onUnmount(this.state.directionsService)},r.render=function(){return t.createElement(t.Fragment,null)},o}(t.PureComponent),Re={onDirectionsChanged:"directions_changed"},Te={directions:function(e,t){e.setDirections(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},panel:function(e,t){e.setPanel(t)},routeIndex:function(e,t){e.setRouteIndex(t)}},Oe=function(e){function n(){var t;return(t=e.apply(this,arguments)||this).registeredEvents=[],t.state={directionsRenderer:null},t.setDirectionsRendererCallback=function(){null!==t.state.directionsRenderer&&(t.state.directionsRenderer.setMap(t.context),t.props.onLoad&&t.props.onLoad(t.state.directionsRenderer))},t}a(n,e);var o=n.prototype;return o.componentDidMount=function(){var e=new google.maps.DirectionsRenderer(this.props.options);this.registeredEvents=d({updaterMap:Te,eventMap:Re,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{directionsRenderer:e}}),this.setDirectionsRendererCallback)},o.componentDidUpdate=function(e){null!==this.state.directionsRenderer&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:Te,eventMap:Re,prevProps:e,nextProps:this.props,instance:this.state.directionsRenderer}))},o.componentWillUnmount=function(){null!==this.state.directionsRenderer&&(this.props.onUnmount&&this.props.onUnmount(this.state.directionsRenderer),u(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))},o.render=function(){return t.createElement(t.Fragment,null)},n}(t.PureComponent);Oe.contextType=c;var Ie=function(e){function o(){var t;return(t=e.apply(this,arguments)||this).state={distanceMatrixService:null},t.setDistanceMatrixServiceCallback=function(){null!==t.state.distanceMatrixService&&t.props.onLoad&&t.props.onLoad(t.state.distanceMatrixService)},t}a(o,e);var r=o.prototype;return r.componentDidMount=function(){this.props.options||n(!1);var e=new google.maps.DistanceMatrixService;this.setState((function(){return{distanceMatrixService:e}}),this.setDistanceMatrixServiceCallback)},r.componentDidUpdate=function(){null!==this.state.distanceMatrixService&&this.state.distanceMatrixService.getDistanceMatrix(this.props.options,this.props.callback)},r.componentWillUnmount=function(){null!==this.state.distanceMatrixService&&this.props.onUnmount&&this.props.onUnmount(this.state.distanceMatrixService)},r.render=function(){return t.createElement(t.Fragment,null)},o}(t.PureComponent),Ve={onPlacesChanged:"places_changed"},_e={bounds:function(e,t){e.setBounds(t)}},Be=function(e){function o(){var n;return(n=e.apply(this,arguments)||this).registeredEvents=[],n.containerElement=t.createRef(),n.state={searchBox:null},n.setSearchBoxCallback=function(){null!==n.state.searchBox&&n.props.onLoad&&n.props.onLoad(n.state.searchBox)},n}a(o,e);var r=o.prototype;return r.componentDidMount=function(){if(google.maps.places||n(!1),null!==this.containerElement&&null!==this.containerElement.current){var e=this.containerElement.current.querySelector("input");if(null!==e){var t=new google.maps.places.SearchBox(e,this.props.options);this.registeredEvents=d({updaterMap:_e,eventMap:Ve,prevProps:{},nextProps:this.props,instance:t}),this.setState((function(){return{searchBox:t}}),this.setSearchBoxCallback)}}},r.componentDidUpdate=function(e){null!==this.state.searchBox&&(u(this.registeredEvents),this.registeredEvents=d({updaterMap:_e,eventMap:Ve,prevProps:e,nextProps:this.props,instance:this.state.searchBox}))},r.componentWillUnmount=function(){null!==this.state.searchBox&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),u(this.registeredEvents))},r.render=function(){return t.createElement("div",{ref:this.containerElement},t.Children.only(this.props.children))},o}(t.PureComponent);Be.contextType=c;var We={onPlaceChanged:"place_changed"},Ae={bounds:function(e,t){e.setBounds(t)},restrictions:function(e,t){e.setComponentRestrictions(t)},fields:function(e,t){e.setFields(t)},options:function(e,t){e.setOptions(t)},types:function(e,t){e.setTypes(t)}},Ne=function(e){function o(){var n;return(n=e.apply(this,arguments)||this).registeredEvents=[],n.containerElement=t.createRef(),n.state={autocomplete:null},n.setAutocompleteCallback=function(){null!==n.state.autocomplete&&n.props.onLoad&&n.props.onLoad(n.state.autocomplete)},n}a(o,e);var r=o.prototype;return r.componentDidMount=function(){google.maps.places||n(!1);var e=this.containerElement.current.querySelector("input");if(e){var t=new google.maps.places.Autocomplete(e,this.props.options);this.registeredEvents=d({updaterMap:Ae,eventMap:We,prevProps:{},nextProps:this.props,instance:t}),this.setState((function(){return{autocomplete:t}}),this.setAutocompleteCallback)}},r.componentDidUpdate=function(e){u(this.registeredEvents),this.registeredEvents=d({updaterMap:Ae,eventMap:We,prevProps:e,nextProps:this.props,instance:this.state.autocomplete})},r.componentWillUnmount=function(){null!==this.state.autocomplete&&u(this.registeredEvents)},r.render=function(){return t.createElement("div",{ref:this.containerElement,className:this.props.className||""},t.Children.only(this.props.children))},o}(t.PureComponent);Ne.contextType=c,exports.Autocomplete=Ne,exports.BicyclingLayer=O,exports.Circle=ae,exports.Data=le,exports.DirectionsRenderer=Oe,exports.DirectionsService=Ue,exports.DistanceMatrixService=Ie,exports.DrawingManager=B,exports.GoogleMap=f,exports.GroundOverlay=Ee,exports.HeatmapLayer=Le,exports.InfoBox=H,exports.InfoWindow=Y,exports.KmlLayer=he,exports.LoadScript=L,exports.LoadScriptNext=D,exports.MapContext=c,exports.Marker=N,exports.MarkerClusterer=F,exports.OverlayView=Me,exports.Polygon=te,exports.Polyline=X,exports.Rectangle=re,exports.StandaloneSearchBox=Be,exports.StreetViewPanorama=Se,exports.StreetViewService=De,exports.TrafficLayer=T,exports.TransitLayer=I,exports.useGoogleMap=function(){t.useContext||n(!1);var e=t.useContext(c);return e||n(!1),e},exports.useLoadScript=w;
//# sourceMappingURL=reactgooglemapsapi.cjs.production.min.js.map