Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Google Place Autocomplete Bundle Laravel Package

cethyworks/google-place-autocomplete-bundle

View on GitHub
Deep Wiki
Context7

Cethyworks\GooglePlaceAutocompleteBundle

Provides a Google Place Autocomplete Type, the most minimalist, unobtrusive way possible.

CircleCI

Versions

For symfony >= 3.4

Use latest or >= v3.3

For symfony < 3.4

Use 2.2 or lower

Install

1. Composer require

$ composer require cethyworks/google-place-autocomplete-bundle

2. Register bundles

// AppKernel.php
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = [
            // ...
            new Cethyworks\ContentInjectorBundle\CethyworksContentInjectorBundle(),
            new Cethyworks\GooglePlaceAutocompleteBundle\CethyworksGooglePlaceAutocompleteBundle(),
        ];
        // ...

How to use

1. Add (optionally) a config/packages/cethyworks_google_place_autocomplete.yaml file with :

cethyworks_google_place_autocomplete:
    google:
        api_key: 'your_api_key'

2. Use Cethyworks\GooglePlaceAutocompleteBundle\Form\SimpleGooglePlaceAutocompleteType into your forms ;

3. Done !

Get more data from the Google Place API

If you need more info from the place API results, you can use the ComplexGooglePlaceAutocompleteType in your forms instead.

Instead of returning a simple string, this Type return a Cethyworks\GooglePlaceAutocompleteBundle\Model\Place object.

In order to persist it, the bundle provides doctrine mapping, use it like this in your entities :

use Cethyworks\GooglePlaceAutocompleteBundle\Model\Place;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Table(name="dummy_entity")
 * @ORM\Entity()
 */
class DummyEntity
{
    /**
     * @var Place
     *
     * @ORM\Embedded(class="Cethyworks\GooglePlaceAutocompleteBundle\Model\Place")
     *
     * @Assert\NotBlank()
     */
    private $locationAddress;
    
    // ...
}

How it works

When either a SimpleGooglePlaceAutocompleteType or a ComplexGooglePlaceAutocompleteType are used, it registers 2 InjectorCommands (one for the library call, one for the input controls) which will inject the necessary javascript code (with the input id & the google api_key) into the Response automatically.

Additional information

Cethyworks\ContentInjectorBundle

Google Place Autocomplete Documentation

Roadmap

  • Update README.md with a example transforming Place into another entity
  • Update Place entity to retrieve more data
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator