Weave Code
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.
yandex/translate-api
voku/simple_html_dom
league/flysystem-vfs
bkwld/upchuck
filament/spatie-laravel-tags-plugin
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php