Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

google-locations-es6

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

google-locations-es6

Google Places API for Node.js, with convenience methods to search by address or phone number

  • 0.0.3
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Google Locations - ES6 build status

This is a fork from a another fork. If you want know the original go to this node-google-places and/or if you want a no ES6 version go to google-locations.

REMEMBER: This is a ES6 version, in futher maybe I add other functions which made different from the original fork, for now this package only work with Node 4.

Google Places + Google Geocoding API module for node.js. Supports basic functions on the Google Places API -- search, autocomplete, and details -- as well as geocoding and reverse geocoding capabilities with the Google Geocoding API. It also contains two convenience methods, searchByAddress and searchByPhone, that allow users to retrieve Place details by address or phone number.

This module requires a valid Google API key and enabled access for Google Places and/or Google Geocoding. Check out the Google Places API docs or Google Geocoding API docs for more information. Please note that searchByAddress uses the Geocoding API and searchByPhone uses the /place/textsearch endpoint which counts as 10 requests toward your daily quota.

Install

npm install google-locations --save

Methods

search(options, callback)

This method makes requests to the /place/nearbysearch endpoint. Any supported query parameter/value for that endpoint is a valid key/value for the options object.

autocomplete(options, callback)

This method makes requests to the /place/autocomplete endpoint. Any supported query parameter/value for that endpoint is a valid key/value for the options object.

details(options, callback)

This method makes requests to the /place/details endpoint. It requires a placeid parameter, but any supported query parameter/value for that endpoint is a valid key/value for the options object.

searchByAddress(options, callback)

This method lets you query for Google Place details by address and location name. It is a convenience wrapper that geocodes an address, does a place search for matching names near that geocoordinate, then does follow-up detail requests for each result in search, up to a specified limit. The only mandatory parameter is address. If rankby is 'distance', name must be specified. If rankby is 'prominence', radius must be specified. If rankby is not specified, it will default to 'distance' and therefore name will be required. The most reliable practice is to specify both an address and name. The number of detail requests is limited by the 'maxResults' parameter: if maxResults isn't specified it will default to 1, but maxResults will automatically never be greater than the number of results returned by a search request.

searchByPhone(options, callback)

This method lets you query for Google Place details by phone number. 'phone' is a required parameter. If 'maxResults' isn't specified it will default to 1, only returning details about the top result in search. NOTE: This method uses the Google Places API's /place/textsearch endpoint, so each request counts as 10 requests toward your daily quota!

Usage

var GoogleLocations = require('google-locations');

var locations = new GoogleLocations('YOUR_API_KEY');

locations.search({keyword: 'Google', location: [37.42291810, -122.08542120]}, function(err, response) {
  console.log("search: ", response.results);

  locations.details({placeid: response.results[0].place_id}, function(err, response) {
    console.log("search details: ", response.result.name);
    // search details: Google
  });
});

locations.autocomplete({input: 'Verm', types: "(cities)"}, function(err, response) {
  console.log("autocomplete: ", response.predictions);

  var success = function(err, response) {
    console.log("did you mean: ", response.result.name);
    // did you mean:  Vermont
    // did you mean:  Vermont South
    // did you mean:  Vermilion
    // did you mean:  Vermillion
  };

  for(var index in response.predictions) {
    locations.details({placeid: response.predictions[index].place_id}, success);
  }
});

locations.searchByAddress({address: '1600 Amphitheatre Pkwy, Mountain View, CA', name: 'Goo', maxResults: 2, rankby: "prominence", radius: 5000}, function(err, response){
  for (var index in response.details) {
    console.log("Potential Match: " + response.details[index].name);
    // Potential Match: Google
    // Potential Match: Gooey Cookie Factory
  }
  for (var index in response.errors) {
    console.log("Error looking up place details: ", response.errors[index]);
  }
});

locations.searchByPhone({phone: "(650) 253-0000"}, maxResults: 2, function(err, response){
  // Returns up to 2 matches for this phone number
});

Test

To test simply install development dependencies and run:

vows test/* --spec

Planned for future versions

  • Configurable URI;
  • Change tests to Mocha;
  • Change callback to promises;
  • Add more features, if you want a feature, let we know by sending a PR or put in Issues;

FAQs

Package last updated on 25 Apr 2016

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc