🚀 Socket Launch Week Day 5:Introducing Repository Access Permissions and Custom Roles.Learn more
Sign In

v-use-places-autocomplete

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

v-use-places-autocomplete

[![npm version](https://badge.fury.io/js/v-use-places-autocomplete.svg)](https://badge.fury.io/js/v-use-places-autocomplete) [![bundle size](https://badgen.net/bundlephobia/minzip/v-use-places-autocomplete)](https://bundlephobia.com/result?p=v-use-places-

latest
Source
npmnpm
Version
1.0.1
Version published
Weekly downloads
185
-54.88%
Maintainers
1
Weekly downloads
 
Created
Source

v-use-places-autocomplete

npm version bundle size

📍 Vue composable for Google Maps Places Autocomplete.

Though not a fork, this composable is fully inspired by react-google-places-autocomplete and use-places-autocomplete.

Install

yarn add v-use-places-autocomplete

Example

<!-- Load the library using the script tag -->
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places"></script>
<template>
  <input type="text" v-model="query" placeholder="Search a place..." />
  <ul>
    <li v-for="item in suggestions" :key="item.place_id" v-text="item.description" />
  </ul>
</template>

<script>
import { defineComponent, ref } from 'vue' // or @vue/composition-api
import { usePlacesAutocomplete } from 'v-use-places-autocomplete'

export default defineComponent({
  setup() {
    const query = ref('')
    const { suggestions } = usePlacesAutocomplete(query, {
      debounce: 500,
      minLengthAutocomplete: 3
    })

    return {
      query,
      suggestions
    }
  }
})
</script>

API

const {
    suggestions,
    loading,
    sessionToken,
    refreshSessionToken
} = usePlacesAutocomplete(query, options);

Options

KeyTypeDefaultDescription
apiKeystring""If this parameter is passed, the component will inject the Google Maps JavaScript API using this apiKey. So there's no need to manually add the script tag to your HTML document.
apiOptionsobject{}Object to configure the google script to inject.
autocompletionRequestobject{}Autocompletion request object to add restrictions to the search.
debouncenumber300The number of milliseconds to delay before making a call to Google Maps API.
minLengthAutocompletenumber0Defines a minimum number of characters needed on the input in order to make requests to the Google's API.
onLoadFailedfunctionconsole.errorFunction to be called when the injection of the Google Maps JavaScript API fails due to network error.
withSessionTokenbooleanfalseIf this is set to true, the composable will handle changing the sessionToken on every session. To learn more about how this works refer to Google Places Session Token docs.

Return object

KeyTypeDefaultDescription
suggestionsarray[]Contains the autocomplete predictions.
loadingbooleanfalseIndicates the status of a request is pending or has completed.
sessionTokenstring | undefinedundefinedCurrent sessionToken being used.
refreshSessionTokenfunction-This function allows you to refresh the sessionToken being used.

Utilities

getGeocode

Converts an address or location or placeId and optionally bounds, componentRestrictions, region. It'll be passed as Geocoding Requests.

const parameter = {
  address: "Cebu-Cordova Link Expressway Corp., Antuwanga, Cebu City, Cebu, Philippines",
  // or
  placeId: "ChIJk6_7UFmdqTMRgFAxl4KEnUQ",
};

const results = await getGeocode(parameter);
console.log('Geocoding results: ', results);

getLatLng

Allows to get the latitude and longitude from the result object of getGeocode.

const parameter = {
  address: "Cebu-Cordova Link Expressway Corp., Antuwanga, Cebu City, Cebu, Philippines",
  // or
  placeId: "ChIJk6_7UFmdqTMRgFAxl4KEnUQ",
};

const results = await getGeocode(parameter);
const latLng = await getLatLng(results[0]);

const { lat, lng } = latLng;
console.log('Coordinates: ', { lat, lng });

Credits

License

MIT License.

Keywords

vue

FAQs

Package last updated on 10 Sep 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts