2017 © Pedro Peláez
 

library laravel-maps

Eay - peasy map integration for Laravel.

image

genealabs/laravel-maps

Eay - peasy map integration for Laravel.

  • Wednesday, March 28, 2018
  • by mikebronner
  • Repository
  • 6 Watchers
  • 22 Stars
  • 1,606 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 3 Forks
  • 3 Open issues
  • 9 Versions
  • 90 % Grown

The README.md

laravel-maps

Travis Scrutinizer Coveralls GitHub (pre-)release Packagist GitHub license, (*1)

Prerequisites

  • PHP >= 7.3
  • Laravel >= 8.0

This package is the continuation of GeneaLabs/Phpgmaps. The move to the more appropriately-named package namespace is in preparation for a complete rewrite of the package, optimizing it for Laravel., (*2)

PhpGmaps

This repo aims to keep appitventures/phpgmaps alive, hopefully filling in temporarily until they make their repo available again, or else continuing its maintenance going forward and keeping it working with future versions of Laravel., (*3)

Installation

Add the repo to composer.json under this new namespace:, (*4)

composer require genealabs/laravel-maps

Add an environment variable with your Google Maps API Key in your .env file:, (*5)

GOOGLE_MAPS_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Lastly, add the following entry to your \config\services.php config file:, (*6)

    'google' => [
        'maps' => [
            'api-key' => env('GOOGLE_MAPS_API_KEY'),
        ],
    ],

Example

The following code will prompt the user for access to their geolocation and then creates a map centered on their lat/lng, (*7)

Route::get('/', function(){
    $config = array();
    $config['center'] = 'auto';
    $config['onboundschanged'] = 'if (!centreGot) {
            var mapCentre = map.getCenter();
            marker_0.setOptions({
                position: new google.maps.LatLng(mapCentre.lat(), mapCentre.lng())
            });
        }
        centreGot = true;';

    app('map')->initialize($config);

    // set up the marker ready for positioning
    // once we know the users location
    $marker = array();
    app('map')->add_marker($marker);

    $map = app('map')->create_map();
    echo "<html><head><script type="text/javascript">var centreGot = false;</script>".$map['js']."</head><body>".$map['html']."</body></html>";
});

More Examples

BIOINSTALL has a great website showing how to do all the things with the class. No reason to reinvent the wheel, so here it is. The only thing to note is that $this->googlemaps is now either the facade Map:: or the app variable app('map')., (*8)

The Versions