diff --git a/docs/api-reference/hooks/useAutocompleteService.md b/docs/api-reference/hooks/useAutocompleteService.md deleted file mode 100644 index 4f1f8b8..0000000 --- a/docs/api-reference/hooks/useAutocompleteService.md +++ /dev/null @@ -1,40 +0,0 @@ -# `useAutocompleteService` Hook - -React hook to use the Google Maps Platform [Places Autocomplete Service](https://developers.google.com/maps/documentation/javascript/reference/places-autocomplete-service) in any component. - -## Usage - -When initializing the ``, include the places library like this: `libraries={['places']}`. - -```tsx -const autocompleteService = useAutocompleteService(); - -const request = {input: inputValue}; // google.maps.places.AutocompletionRequest - -autocompleteService?.getPlacePredictions( - request, - ( - predictions: google.maps.places.AutocompletePrediction[] | null, - status: google.maps.places.PlacesServiceStatus - ) => { - if (status !== google.maps.places.PlacesServiceStatus.OK || !predictions) { - return; - } - // Do something with predictions - } -); -``` - -## Parameters - -### AutocompleteProps - -Needs a reference to an Input field, and has some optional properties. Check: [AutocompletionRequest interface](https://developers.google.com/maps/documentation/javascript/reference/places-autocomplete-service#AutocompletionRequest) or [QueryAutocompletionRequest interface](https://developers.google.com/maps/documentation/javascript/reference/places-autocomplete-service#QueryAutocompletionRequest). - -## Return value - -Returns an [`Autocomplete Service`](https://developers.google.com/maps/documentation/javascript/reference/places-autocomplete-service) instance to use directly. - -```TypeScript -google.maps.places.AutocompleteService -``` diff --git a/docs/api-reference/hooks/useDistanceMatrixService.md b/docs/api-reference/hooks/useDistanceMatrixService.md deleted file mode 100644 index 49e7ac0..0000000 --- a/docs/api-reference/hooks/useDistanceMatrixService.md +++ /dev/null @@ -1,28 +0,0 @@ -# `useDistanceMatrixService` Hook - -React hook to use the Google Maps Platform [Distance Matrix Service](https://developers.google.com/maps/documentation/javascript/distancematrix) in any component. - -## Usage - -```tsx -import React from 'react'; -import {useDistanceMatrixService} from '@vis.gl/react-google-maps-hooks'; - -const MyComponent = () => { - const service = useDistanceMatrixService(); - - service.getDistanceMatrix(request, response => { - // Do something with the response - } - - return (...); -}; -``` - -## Return value - -Returns a [`Distance Matrix Service`](https://developers.google.com/maps/documentation/javascript/distancematrix) instance to use directly. - -```TypeScript -google.maps.DistanceMatrixService -``` diff --git a/docs/api-reference/hooks/useElevationService.md b/docs/api-reference/hooks/useElevationService.md deleted file mode 100644 index 1ee3d67..0000000 --- a/docs/api-reference/hooks/useElevationService.md +++ /dev/null @@ -1,34 +0,0 @@ -# `useElevationService` Hook - -React hook to use the Google Maps Platform [Elevation Service](https://developers.google.com/maps/documentation/javascript/elevation) in any component. - -## Usage - -```tsx -import React, {useEffect} from 'react'; -import {useElevationService} from '@vis.gl/react-google-maps-hooks'; - -const MyComponent = () => { - const elevator = useElevationService(); - const location = /** google.maps.LatLng */; - - useEffect(() => { - elevator?.getElevationForLocations( - {locations: [location]}, - (results: google.maps.ElevationResult[]) => { - // Do something with results - } - ); - }, [location]); - - return (...); -}; -``` - -## Return value - -Returns a [`Elevation Service`](https://developers.google.com/maps/documentation/javascript/elevation) instance to use directly. - -```TypeScript -google.maps.ElevationService -``` diff --git a/docs/api-reference/hooks/useGeocodingService.md b/docs/api-reference/hooks/useGeocodingService.md deleted file mode 100644 index 03672b8..0000000 --- a/docs/api-reference/hooks/useGeocodingService.md +++ /dev/null @@ -1,26 +0,0 @@ -# `useGeocodingService` Hook - -React hook to use the Google Maps Platform [Geocoding Service](https://developers.google.com/maps/documentation/javascript/geocoding) in any component. - -## Usage - -```tsx -import React from 'react'; -import {useGeocodingService} from '@vis.gl/react-google-maps-hooks'; - -const MyComponent = () => { - const geocoder = useGeocodingService(); - - // Do something with the geocoder - - return (...); -}; -``` - -## Return value - -Returns a [`Geocoder`](https://developers.google.com/maps/documentation/javascript/reference/geocoder) instance to use directly. - -```TypeScript -google.maps.Geocoder -``` diff --git a/docs/api-reference/hooks/useMaxZoomService.md b/docs/api-reference/hooks/useMaxZoomService.md deleted file mode 100644 index f40da43..0000000 --- a/docs/api-reference/hooks/useMaxZoomService.md +++ /dev/null @@ -1,34 +0,0 @@ -# `useMaxZoomService` Hook - -React hook to use the Google Maps Platform [Maximum Zoom Imagery Service](https://developers.google.com/maps/documentation/javascript/maxzoom) in any component. - -## Usage - -```tsx -import React, {useEffect} from 'react'; -import {useMaxZoomService} from '@vis.gl/react-google-maps-hooks'; - -const MyComponent = () => { - const maxZoomService = useMaxZoomService(); - const location = /** google.maps.LatLng */; - - useEffect(() => { - maxZoomService?.getMaxZoomAtLatLng( - location, - (result: google.maps.MaxZoomResult) => { - // Do something with result - } - ); - }, [location]); - - return (...); -}; -``` - -## Return value - -Returns a [`Max Zoom Service`](https://developers.google.com/maps/documentation/javascript/maxzoom) instance to use directly. - -```TypeScript -google.maps.MaxZoomService -``` diff --git a/docs/api-reference/hooks/usePlacesService.md b/docs/api-reference/hooks/usePlacesService.md deleted file mode 100644 index 3e5d355..0000000 --- a/docs/api-reference/hooks/usePlacesService.md +++ /dev/null @@ -1,56 +0,0 @@ -# `usePlacesService` Hook - -React hook to use the Google Maps Platform [Places Service](https://developers.google.com/maps/documentation/javascript/reference/places-service) in any component. - -## Usage - -When initializing the ``, include the Places Library like this: `libraries={['places']}`. - -The Places Service renders attributions in a specified container. - -This container can either be a `Map`, which is implemented in the following way with the `usePlacesService` Hook: - -```tsx -import React from 'react'; -import {usePlacesService} from '@vis.gl/react-google-maps-hooks'; - -const MyComponent = () => { - const placesService = usePlacesService(); - - // Do something with the Places Service - - return (...); -}; -``` - -or the container is a `div` element, that needs to be passed to the `usePlacesService` Hook in the following way: - -```tsx -import React from 'react'; -import {usePlacesService} from '@vis.gl/react-google-maps-hooks'; - -const MyComponent = () => { - const [divContainer, setDivContainer] = useState(null); - - const divRef = useCallback( - (node: React.SetStateAction) => { - node && setDivContainer(node); - }, - [] - ); - - const service = usePlacesService({divElement: divContainer}); - - // Do something with the places Service - - return (...); -}; -``` - -## Return value - -Returns a [`Places Service`](https://developers.google.com/maps/documentation/javascript/reference/places-service) instance to use directly. - -```TypeScript -google.maps.places.PlacesService -``` diff --git a/docs/table-of-contents.json b/docs/table-of-contents.json index e66ca08..376f051 100644 --- a/docs/table-of-contents.json +++ b/docs/table-of-contents.json @@ -24,15 +24,9 @@ "api-reference/hooks/useMap", "api-reference/hooks/useApiIsLoaded", "api-reference/hooks/useMapsLibrary", - "api-reference/hooks/useDistanceMatrixService", "api-reference/hooks/useDirectionsService", - "api-reference/hooks/useAutocompleteService", - "api-reference/hooks/usePlacesService", "api-reference/hooks/useStreetViewPanorama", - "api-reference/hooks/useMaxZoomService", - "api-reference/hooks/useAutocomplete", - "api-reference/hooks/useElevationService", - "api-reference/hooks/useGeocodingService" + "api-reference/hooks/useAutocomplete" ] } ] diff --git a/src/hooks/__tests__/__snapshots__/autocomplete-service.test.tsx.snap b/src/hooks/__tests__/__snapshots__/autocomplete-service.test.tsx.snap deleted file mode 100644 index 790011a..0000000 --- a/src/hooks/__tests__/__snapshots__/autocomplete-service.test.tsx.snap +++ /dev/null @@ -1,7 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`it throws an error if the places library is missing 1`] = ` -[ - "Google Maps Places library is missing. Please add the places library to the props of the component.", -] -`; diff --git a/src/hooks/__tests__/__snapshots__/distance-matrix-service.test.tsx.snap b/src/hooks/__tests__/__snapshots__/distance-matrix-service.test.tsx.snap deleted file mode 100644 index d32282b..0000000 --- a/src/hooks/__tests__/__snapshots__/distance-matrix-service.test.tsx.snap +++ /dev/null @@ -1,7 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`it throws an error if the distance matrix service library is missing 1`] = ` -[ - "Google Maps Distance Matrix library is missing.", -] -`; diff --git a/src/hooks/__tests__/__snapshots__/places-service.test.tsx.snap b/src/hooks/__tests__/__snapshots__/places-service.test.tsx.snap deleted file mode 100644 index 790011a..0000000 --- a/src/hooks/__tests__/__snapshots__/places-service.test.tsx.snap +++ /dev/null @@ -1,7 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`it throws an error if the places library is missing 1`] = ` -[ - "Google Maps Places library is missing. Please add the places library to the props of the component.", -] -`; diff --git a/src/hooks/__tests__/autocomplete-service.test.tsx b/src/hooks/__tests__/autocomplete-service.test.tsx deleted file mode 100644 index c0ab075..0000000 --- a/src/hooks/__tests__/autocomplete-service.test.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import React from 'react'; -import {renderHook, waitFor} from '@testing-library/react'; -import {AutocompleteService, initialize} from '@googlemaps/jest-mocks'; - -import {APIProvider} from '../../components/api-provider'; -import {useAutocompleteService} from '../autocomplete-service'; - -import {waitForMockInstance} from './__utils__/wait-for-mock-instance'; - -jest.mock('../../libraries/google-maps-api-loader'); - -let wrapper: ({children}: {children: React.ReactNode}) => JSX.Element | null; - -beforeEach(() => { - initialize(); - - // Wrap components with APIProvider - wrapper = ({children}: {children: React.ReactNode}) => ( - - {children} - - ); -}); - -test('it should initialize an autocomplete instance', async () => { - const {result} = renderHook(() => useAutocompleteService(), {wrapper}); - - const service = await waitForMockInstance(AutocompleteService); - - expect(result.current).toBe(service); - expect(service).toBeInstanceOf(google.maps.places.AutocompleteService); -}); - -test('it throws an error if the places library is missing', async () => { - // pretend the places library wasn't loaded - // @ts-expect-error - testing error case - delete google.maps.places; - - const consoleErrorSpy = jest - .spyOn(console, 'error') - .mockImplementation(() => {}); - - const {result} = renderHook(() => useAutocompleteService(), {wrapper}); - - await waitFor(() => expect(consoleErrorSpy).toHaveBeenCalled()); - expect(result.current).toBe(null); - expect(consoleErrorSpy.mock.lastCall).toMatchSnapshot(); -}); diff --git a/src/hooks/__tests__/distance-matrix-service.test.tsx b/src/hooks/__tests__/distance-matrix-service.test.tsx deleted file mode 100644 index 2c64e25..0000000 --- a/src/hooks/__tests__/distance-matrix-service.test.tsx +++ /dev/null @@ -1,48 +0,0 @@ -import React from 'react'; -import {renderHook, waitFor} from '@testing-library/react'; -import {initialize, DistanceMatrixService} from '@googlemaps/jest-mocks'; - -import {APIProvider} from '../../components/api-provider'; -import {useDistanceMatrixService} from '../distance-matrix-service'; -import {waitForMockInstance} from './__utils__/wait-for-mock-instance'; - -jest.mock('../../libraries/google-maps-api-loader'); - -let wrapper: ({children}: {children: React.ReactNode}) => JSX.Element | null; - -beforeEach(() => { - initialize(); - - wrapper = ({children}: {children: React.ReactNode}) => ( - {children} - ); -}); - -test('distance matrix service hook is rendered', async () => { - const {result} = renderHook(() => useDistanceMatrixService(), { - wrapper - }); - - const service = await waitForMockInstance(DistanceMatrixService); - - expect(service).toBeDefined(); - expect(result.current).toBe(service); - expect(service).toBeInstanceOf(google.maps.DistanceMatrixService); -}); - -test('it throws an error if the distance matrix service library is missing', async () => { - // pretend the distance matrix service library wasn't loaded - // @ts-expect-error - testing error case - delete google.maps.DistanceMatrixService; - - const consoleErrorSpy = jest - .spyOn(console, 'error') - .mockImplementation(() => {}); - - const {result} = renderHook(() => useDistanceMatrixService(), {wrapper}); - - await waitFor(() => expect(consoleErrorSpy).toHaveBeenCalled()); - - expect(result.current).toBe(null); - expect(consoleErrorSpy.mock.lastCall).toMatchSnapshot(); -}); diff --git a/src/hooks/__tests__/elevation-service.test.tsx b/src/hooks/__tests__/elevation-service.test.tsx deleted file mode 100644 index eaf7c95..0000000 --- a/src/hooks/__tests__/elevation-service.test.tsx +++ /dev/null @@ -1,32 +0,0 @@ -import React from 'react'; -import {ElevationService, initialize} from '@googlemaps/jest-mocks'; -import {renderHook} from '@testing-library/react'; - -import {APIProvider} from '../../components/api-provider'; -import {useElevationService} from '../elevation-service'; - -import {waitForMockInstance} from './__utils__/wait-for-mock-instance'; - -jest.mock('../../libraries/google-maps-api-loader'); - -let wrapper: ({children}: {children: React.ReactNode}) => JSX.Element | null; - -beforeEach(() => { - initialize(); - - wrapper = ({children}: {children: React.ReactNode}) => ( - {children} - ); -}); - -test('elevation service hook is rendered', async () => { - const {result} = renderHook(() => useElevationService(), { - wrapper - }); - - const service = await waitForMockInstance(ElevationService); - - expect(service).toBeDefined(); - expect(result.current).toBe(service); - expect(service).toBeInstanceOf(google.maps.ElevationService); -}); diff --git a/src/hooks/__tests__/geocoding-service.test.tsx b/src/hooks/__tests__/geocoding-service.test.tsx deleted file mode 100644 index a2b24af..0000000 --- a/src/hooks/__tests__/geocoding-service.test.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import React from 'react'; -import {renderHook} from '@testing-library/react'; -import {initialize, Geocoder} from '@googlemaps/jest-mocks'; - -import {useGeocodingService} from '../geocoding-service'; -import {APIProvider} from '../../components/api-provider'; -import {waitForMockInstance} from './__utils__/wait-for-mock-instance'; - -jest.mock('../../libraries/google-maps-api-loader'); - -let wrapper: ({children}: {children: React.ReactNode}) => JSX.Element | null; - -beforeEach(() => { - initialize(); - - wrapper = ({children}: {children: React.ReactNode}) => ( - {children} - ); -}); - -test('it should initialize a geocoder instance', async () => { - const {result} = renderHook(() => useGeocodingService(), {wrapper}); - - const service = await waitForMockInstance(Geocoder); - - expect(result.current).toBe(service); - expect(service).toBeInstanceOf(google.maps.Geocoder); -}); diff --git a/src/hooks/__tests__/max-zoom-service.test.tsx b/src/hooks/__tests__/max-zoom-service.test.tsx deleted file mode 100644 index 91ade3a..0000000 --- a/src/hooks/__tests__/max-zoom-service.test.tsx +++ /dev/null @@ -1,28 +0,0 @@ -import React from 'react'; -import {renderHook} from '@testing-library/react'; -import {initialize, MaxZoomService} from '@googlemaps/jest-mocks'; - -import {APIProvider} from '../../components/api-provider'; -import {useMaxZoomService} from '../max-zoom-service'; -import {waitForMockInstance} from './__utils__/wait-for-mock-instance'; - -jest.mock('../../libraries/google-maps-api-loader'); - -let wrapper: ({children}: {children: React.ReactNode}) => JSX.Element | null; - -beforeEach(() => { - initialize(); - - wrapper = ({children}: {children: React.ReactNode}) => ( - {children} - ); -}); - -test('it should initialize a max zoom service instance', async () => { - const {result} = renderHook(() => useMaxZoomService(), {wrapper}); - - const service = await waitForMockInstance(MaxZoomService); - - expect(result.current).toBe(service); - expect(service).toBeInstanceOf(google.maps.MaxZoomService); -}); diff --git a/src/hooks/__tests__/places-service.test.tsx b/src/hooks/__tests__/places-service.test.tsx deleted file mode 100644 index 0e8177d..0000000 --- a/src/hooks/__tests__/places-service.test.tsx +++ /dev/null @@ -1,56 +0,0 @@ -import React from 'react'; -import {renderHook, waitFor} from '@testing-library/react'; -import {initialize, PlacesService} from '@googlemaps/jest-mocks'; - -import {APIProvider} from '../../components/api-provider'; -import {usePlacesService} from '../places-service'; - -import {waitForMockInstance} from './__utils__/wait-for-mock-instance'; - -jest.mock('../../libraries/google-maps-api-loader'); - -let wrapper: ({children}: {children: React.ReactNode}) => JSX.Element | null; -let divElement: HTMLDivElement; - -beforeEach(() => { - initialize(); - - divElement = document.createElement('div'); - - wrapper = ({children}: {children: React.ReactNode}) => ( - - {children} - - ); -}); - -test('it should initialize a places service instance', async () => { - const {result} = renderHook( - () => usePlacesService({attributionContainer: divElement}), - {wrapper} - ); - - const service = await waitForMockInstance(PlacesService); - - expect(result.current).toBe(service); - expect(service).toBeInstanceOf(google.maps.places.PlacesService); -}); - -test('it throws an error if the places library is missing', async () => { - // pretend the places library wasn't loaded - // @ts-expect-error - testing error case - delete google.maps.places; - - const consoleErrorSpy = jest - .spyOn(console, 'error') - .mockImplementation(() => {}); - - const {result} = renderHook( - () => usePlacesService({attributionContainer: divElement}), - {wrapper} - ); - - await waitFor(() => expect(consoleErrorSpy).toHaveBeenCalled()); - expect(result.current).toBe(null); - expect(consoleErrorSpy.mock.lastCall).toMatchSnapshot(); -}); diff --git a/src/hooks/autocomplete-service.ts b/src/hooks/autocomplete-service.ts deleted file mode 100644 index 3055a90..0000000 --- a/src/hooks/autocomplete-service.ts +++ /dev/null @@ -1,29 +0,0 @@ -import {useMemo} from 'react'; - -import {useApiIsLoaded} from './api-loading-status'; - -/** - * Hook to get Google Maps Autocomplete Service instance - */ -export const useAutocompleteService = - (): google.maps.places.AutocompleteService | null => { - const googleMapsAPIISLoaded = useApiIsLoaded(); - - return useMemo(() => { - if (!googleMapsAPIISLoaded) { - return null; - } - - if (!google.maps.places) { - console.error( - 'Google Maps Places library is missing. ' + - 'Please add the places library to the props of the ' + - 'component.' - ); - - return null; - } - - return new google.maps.places.AutocompleteService(); - }, [googleMapsAPIISLoaded]); - }; diff --git a/src/hooks/distance-matrix-service.ts b/src/hooks/distance-matrix-service.ts deleted file mode 100644 index 2021e22..0000000 --- a/src/hooks/distance-matrix-service.ts +++ /dev/null @@ -1,25 +0,0 @@ -import {useMemo} from 'react'; - -import {useApiIsLoaded} from './api-loading-status'; - -/** - * Hook to get Distance Matrix Service instance - */ -export const useDistanceMatrixService = - (): google.maps.DistanceMatrixService | null => { - const isApiLoaded = useApiIsLoaded(); - - // Creates a Distance Matrix Service instance - return useMemo(() => { - if (!isApiLoaded) { - return null; - } - if (!google.maps.DistanceMatrixService) { - console.error('Google Maps Distance Matrix library is missing.'); - - return null; - } - - return new google.maps.DistanceMatrixService(); - }, [isApiLoaded]); - }; diff --git a/src/hooks/elevation-service.ts b/src/hooks/elevation-service.ts deleted file mode 100644 index 4bfa4d5..0000000 --- a/src/hooks/elevation-service.ts +++ /dev/null @@ -1,19 +0,0 @@ -import {useMemo} from 'react'; - -import {useApiIsLoaded} from './api-loading-status'; - -/** - * Hook to get Elevation Service instance - */ -export const useElevationService = (): google.maps.ElevationService | null => { - const googleMapsAPIIsLoaded = useApiIsLoaded(); - - // Creates an Elevation Service instance - return useMemo(() => { - if (!googleMapsAPIIsLoaded) { - return null; - } - - return new google.maps.ElevationService(); - }, [googleMapsAPIIsLoaded]); -}; diff --git a/src/hooks/geocoding-service.ts b/src/hooks/geocoding-service.ts deleted file mode 100644 index 7e2c9af..0000000 --- a/src/hooks/geocoding-service.ts +++ /dev/null @@ -1,18 +0,0 @@ -import {useMemo} from 'react'; - -import {useApiIsLoaded} from './api-loading-status'; - -/** - * Hook to get Google Maps Geocoder instance - */ -export const useGeocodingService = (): google.maps.Geocoder | null => { - const googleMapsAPIIsLoaded = useApiIsLoaded(); - - return useMemo(() => { - if (!googleMapsAPIIsLoaded) { - return null; - } - - return new google.maps.Geocoder(); - }, [googleMapsAPIIsLoaded]); -}; diff --git a/src/hooks/max-zoom-service.ts b/src/hooks/max-zoom-service.ts deleted file mode 100644 index 956fb98..0000000 --- a/src/hooks/max-zoom-service.ts +++ /dev/null @@ -1,19 +0,0 @@ -import {useMemo} from 'react'; - -import {useApiIsLoaded} from './api-loading-status'; - -/** - * Hook to get Max Zoom Service instance - */ -export const useMaxZoomService = (): google.maps.MaxZoomService | null => { - const googleMapsAPIIsLoaded = useApiIsLoaded(); - - // Creates a Max Zoom Service instance - return useMemo(() => { - if (!googleMapsAPIIsLoaded) { - return null; - } - - return new google.maps.MaxZoomService(); - }, [googleMapsAPIIsLoaded]); -}; diff --git a/src/hooks/places-service.ts b/src/hooks/places-service.ts deleted file mode 100644 index 56d513f..0000000 --- a/src/hooks/places-service.ts +++ /dev/null @@ -1,54 +0,0 @@ -import {useEffect, useState} from 'react'; - -import {useApiIsLoaded} from './api-loading-status'; -import {useMap} from './map-instance'; - -export interface PlacesServiceProps { - mapId?: string; - attributionContainer?: HTMLDivElement | null; -} - -/** - * Hook to get Google Maps Places Service instance - */ -export const usePlacesService = ( - props: PlacesServiceProps = {} -): google.maps.places.PlacesService | null => { - const {mapId, attributionContainer} = props; - const isApiLoaded = useApiIsLoaded(); - const map = useMap(mapId); - - const [placesService, setPlacesService] = - useState(null); - - // Creates a Places Service instance - useEffect(() => { - if (!isApiLoaded) return; - - if (!google.maps.places) { - console.error( - 'Google Maps Places library is missing. ' + - 'Please add the places library to the props of the ' + - 'component.' - ); - - return; - } - - // when attributionContainer isn't specified, we use the map - if (props.attributionContainer === undefined) { - // wait for map to be ready - if (!map) return; - - setPlacesService(new google.maps.places.PlacesService(map)); - } else { - if (!attributionContainer) return; - - setPlacesService( - new google.maps.places.PlacesService(attributionContainer) - ); - } - }, [isApiLoaded, map, attributionContainer]); - - return placesService; -}; diff --git a/src/index.ts b/src/index.ts index 2fb6dad..9fc9537 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,14 +5,8 @@ export * from './components/map'; export * from './components/marker'; export * from './components/pin'; export * from './hooks/api-loading-status'; -export * from './hooks/autocomplete-service'; export * from './hooks/autocomplete'; export * from './hooks/directions-service'; -export * from './hooks/distance-matrix-service'; -export * from './hooks/elevation-service'; -export * from './hooks/geocoding-service'; export * from './hooks/map-instance'; -export * from './hooks/max-zoom-service'; -export * from './hooks/places-service'; export * from './hooks/street-view-panorama'; export {limitTiltRange} from './libraries/limit-tilt-range';