Giter Site home page Giter Site logo

php-googleplaces's Introduction

php-googleplaces

Build Status Coverage Status Downloads Gittip

PHP Wrapper for the Google Places API.

Origins

Simply put, when I Googled “php google places” I was presented with Google-Places---PHP-. I attempted to use it, and it was fine as I was able to make it work, but there seemed to be a huge assumption that you already knew a lot of the quirks of the Google Places API.

I did not fit into this assumption and set out to built my own wrapper with a heavy focus on sanity checking inputs, utilizing the magical parts of PHP (reads: you interact directly with the object as you would the API) and avoiding setter methods as they were put here by the devil.

I opted not to fork because I was going to change too much and I highly doubt my pull requests would have even been accepted.

Installation

The preferred installation is via composer. First add the following to your composer.json

"require": {
    "joshtronic/php-googleplaces": "dev-master"
}

Then run composer update

Usage

Getting started

$google_places = new joshtronic\GooglePlaces('_YOUR_API_KEY_');

Search nearby, ranked by prominence

$google_places->location = array(-33.86820, 151.1945860);
$google_places->radius   = 800;
$results                 = $google_places->nearbySearch();

Search nearby, ranked by distance

$google_places->location = array(-33.86820, 151.1945860);
$google_places->rankby   = 'distance';
$google_places->types    = 'restaurant'; // Requires keyword, name or types
$results                 = $google_places->nearbySearch();

Second page of search nearby results

$google_places->pagetoken = $results['next_page_token'];
$page2_results            = $google_places->nearbySearch();

Radar search

$google_places->location = array(-33.86820, 151.1945860);
$google_places->radius   = 800;
$google_places->types    = 'restaurant'; // Requires keyword, name or types
$results                 = $google_places->radarSearch();

Place details

$google_places->reference = '#reference#'; // Reference from search results
$details                  = $google_places->details();

The Future

The project that I created this library for is now defunct so I’m not actively using it or hacking on it. That being said, if there’s something you want to see included or you find a bug, just open an issue or grow a pair and fork, hack and send a pull request ;)

php-googleplaces's People

Contributors

daniyals avatar jonathanstanley avatar joshtronic avatar rasmusbe avatar zn4rk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

php-googleplaces's Issues

Pull more than 60 results with multiple small radius searches

originally posted by @bristweb on issue #4 :

One other thing on a similar vein, but not really specific to this project. Google definitely limits a particular search to 60 results. I had hoped that I could just spend more of my quota in order to get an exhaustive dataset, but apparently that isn't possible without a bunch of legwork. The only way I can think of to accomplish this is to do a whole ton of small radius searches - resulting in something like this: http://cdn2.techworld.com/cmsdata/slideshow/3310742/09_crop_circles_thumb555.jpg

types parameter is deprecated

From google : The types parameter is deprecated as of February 16, 2016, replaced by a new type parameter which only supports one type per search request.

namespace

I think you forgot to remove the namespace in the first line of the lib :-)

pagetoken

First, thank you for posting your work! I also had the same issue with the other project and yours definitely worked much more easily. Sorry for not doing a pull request but I wanted to get this to you before I forgot.

1
a very small issue: capitalization is not consistent throughout and sometimes your demo doesn't use the correct capitalization. ex: you say to use $google_places->pageToken when it should be $google_places->pagetoken

2
The pagetoken doesn't work.

Here's how I was able to get it to work (added just above $querystring = '';):

if ($this->pagetoken !== null)
        {
            $parameters['pagetoken'] = $this->pagetoken;
            sleep(3);
        }

License?

Hi,

You're written a great wrapper for interacting with Google Places API, however when looking through the documentation I didn't see any license file. Could you specify the license that you've released this under?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.