Google Autocomplete Address example in Laravel 6
In this article, we will discuss how to implement Google Autocomplete Address example in Laravel 6. The Google Autocomplete Address work based on latitude and the longitude.
here, we will use google API for Google Autocomplete Address in laravel 6. so you can follow the below steps.
Overview
Step 1: Install Laravel
Step 2: Get Google Place API Key
Step 3: Create Route
Step 4: Create a Controller
Step 5: Create Blade Files
Step 6: Run Our Laravel Application
Step 1: Install Laravel
We are going to install laravel 6, so first open the command prompt or terminal and go to go to xampp htdocs folder directory using the command prompt. after then run the below command.
1 | composer create-project --prefer-dist laravel/laravel google_autocomplete_address |
Step 2: Get Google Place API Key
Now, we have to need the Google Place API Key. so we will go to the cloud.google.com and after then login gets Google Place API.
Step 3: Create Route
Add the following route code in the “routes/web.php” file.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ Route::get('/', function () { // return view('welcome'); }); Route::get('search-place','PlaceAutocompleteController@index'); ?> |
Step 4: Create a Controller
Here below command help to create the controller and model.
1 | php artisan make:controller PlaceAutocompleteController |
PlaceAutocompleteController.php
1 2 3 4 5 6 7 8 9 10 11 12 | <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Response; class PlaceAutocompleteController extends Controller { public function index() { return view('autocomplete'); } } ?> |
Step 5: Create Blade Files
Finally, We will create an autocomplete.blade.php file in the “resources/views/” folder directory and paste the below code.
autocomplete.blade.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | <!doctype html> <html lang="en"> <head> <title>Google Autocomplete Address example in Laravel 6 - XpertPhp</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.4.1.js" integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="crossorigin="anonymous"></script> </head> <body> <div class="container mt-5"> <div class="row"> <div class="col-xl-6 col-lg-6 col-md-8 col-sm-12 col-12 m-auto"> <div class="card shadow"> <div class="card-header"> <h5 class="card-title">Google Autocomplete Address example in Laravel 6 - XpertPhp</h5> </div> <div class="card-body"> <div class="form-group"> <label for="autocomplete"> Location/City/Address </label> <input type="text" name="autocomplete" id="autocomplete" class="form-control" placeholder="Select Location"> </div> <div class="form-group" id="lat_area"> <label for="latitude"> Latitude </label> <input type="text" name="latitude" id="latitude" class="form-control"> </div> <div class="form-group" id="long_area"> <label for="latitude"> Longitude </label> <input type="text" name="longitude" id="longitude" class="form-control"> </div> </div> <div class="card-footer"> <button type="submit" class="btn btn-success"> Submit </button> </div> </div> </div> </div> </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script> {{-- javascript code --}} <script src="https://maps.google.com/maps/api/js?key=Your_Google_Key=places&callback=initAutocomplete" type="text/javascript"></script> <script> $(document).ready(function() { $("#lat_area").addClass("d-none"); $("#long_area").addClass("d-none"); }); </script> <script> google.maps.event.addDomListener(window, 'load', initialize); function initialize() { var input = document.getElementById('autocomplete'); var autocomplete = new google.maps.places.Autocomplete(input); autocomplete.addListener('place_changed', function() { var place = autocomplete.getPlace(); $('#latitude').val(place.geometry['location'].lat()); $('#longitude').val(place.geometry['location'].lng()); $("#lat_area").removeClass("d-none"); $("#long_area").removeClass("d-none"); }); } </script> </body> </html> |
Step 6: Run Our Laravel Application
We can start the server and run this example using the below command.
1 | php artisan serve |
Now we will run our example using the below Url in the browser.
1 | http://127.0.0.1:8000/search-place |