An easy way to integrate Google Maps with Laravel

Related tags

Laravel Googlmapper
Overview

An easy way to integrate Google Maps with Laravel

Latest Stable Version Total Downloads Build Status Scrutinizer Code Quality

For Laravel 5.x, check version 2.35.1

For Laravel 4.x, check version 1.27.0

Think of Googlmapper as an easy way to integrate Google Maps with Laravel, providing a variety of helpers to speed up the utilisation of mapping. These include:

  • Mapper::map
  • Mapper::location
  • Mapper::streetview
  • Mapper::marker
  • Mapper::informationWindow
  • Mapper::polyline
  • Mapper::polygon
  • Mapper::rectangle
  • Mapper::circle
  • Mapper::render

Installation

Begin by installing this package through Composer. Edit your project's composer.json file to require cornford/googlmapper.

"require": {
	"cornford/googlmapper": "3.*"
}

Next, update Composer from the Terminal:

composer update

Once this operation completes, the next step is to add the service provider. Open app/config/app.php, and add a new item to the providers array.

Cornford\Googlmapper\MapperServiceProvider::class,

The next step is to introduce the facade. Open app/config/app.php, and add a new item to the aliases array.

'Mapper'         => Cornford\Googlmapper\Facades\MapperFacade::class,

Finally we need to introduce the configuration files into your application.

php artisan vendor:publish --provider="Cornford\Googlmapper\MapperServiceProvider" --tag=googlmapper

You also need to set your Google API Key into the GOOGLE_API_KEY environment variable. To obtain an API key for your project, visit the Google developers console.

That's it! You're all set to go.

Configuration

You can now configure Googlmapper in a few simple steps. Open app/config/packages/cornford/googlmapper/config.php and update the options as needed.

  • enabled - Enable Google Maps.
  • key - A Google Maps API key.
  • region - A region Google Maps should utilise, required in ISO 3166-1 code format, e.g. GB.
  • language - A language Google Maps should utilise, required in ISO 639-1 code format, e.g. en-gb.
  • async - Perform the loading and rendering of Googlmapper map asynchronously, e.g. false.
  • marker - Automatically add Google Maps marker for your maps initial location, e.g. true.
  • center - Automatically center Google Maps around the initial location, when false, Google Maps will automatically center the map, e.g. true.
  • locate - Automatically center Google Maps around the users current location, when false, Google Maps will automatically center the map, e.g. true.
  • zoom - Set the default zoom level for Google Maps, e.g. 8.
  • scrollWheelZoom - Set the default scroll wheel zoom Google Maps, e.g. true.
  • zoomControl - Set the default zoom control for Google Maps, e.g. true.
  • mapTypeControl - Set the default map type control for Google Maps, e.g. true.
  • scaleControl - Set the default scale control for Google Maps, e.g. true.
  • streetViewControl - Set the default street view control for Google Maps, e.g. true.
  • rotateControl - Set the default rotate control for Google Maps, e.g. true.
  • fullscreenControl - Set the default fullscreen control for Google Maps, e.g. true.
  • gestureHandling - Set the default gesture handling for Google Maps, e.g. auto, none, cooperative, greedy.
  • type - Set the default map type for Google Maps, e.g. ROADMAP, SATELLITE, HYBRID, TERRAIN.
  • ui - Show the Google Maps default UI options, e.g. true.
  • markers.icon - Set the default marker icon, e.g. img/icon.png.
  • markers.animation - Set the default marker animation, e.g. NONE, DROP, BOUNCE.
  • markers.autoClose - Automatically close Information Windows of current marker when other markers are clicked, e.g. true.
  • cluster - Set if map marker clusters should be used.
  • clusters.icon - Display custom images for clusters using icon path.
  • clusters.grid - The grid size of a cluster in pixels.
  • clusters.zoom - The maximum zoom level that a marker can be part of a cluster.
  • clusters.center - Whether the center of each cluster should be the average of all markers in the cluster.
  • clusters.size - The minimum number of markers to be in a cluster before the markers are hidden and a count is shown.

Usage

It's really as simple as using the Mapper class in any Controller / Model / File you see fit with:

Mapper::

This will give you access to

Example

Initialize the map in your controller MapController.php:

use Mapper;

public function index()
{
	Mapper::map(53.381128999999990000, -1.470085000000040000);

	return view('map')
}

Within in the view map.blade.php add following code to render the map:

<div style="width: 500px; height: 500px;">
	{!! Mapper::render() !!}
</div>

Map

The map method allows a map to be created, with latitude, longitude and optional parameters for options.

Mapper::map(53.381128999999990000, -1.470085000000040000);
Mapper::map(53.381128999999990000, -1.470085000000040000, ['zoom' => 15, 'center' => false, 'marker' => false, 'type' => 'HYBRID', 'overlay' => 'TRAFFIC']);
Mapper::map(53.381128999999990000, -1.470085000000040000, ['zoom' => 10, 'markers' => ['title' => 'My Location', 'animation' => 'DROP']]);
Mapper::map(53.381128999999990000, -1.470085000000040000, ['zoom' => 10, 'markers' => ['title' => 'My Location', 'animation' => 'DROP'], 'cluster' => false]);
Mapper::map(53.381128999999990000, -1.470085000000040000, ['zoom' => 10, 'markers' => ['title' => 'My Location', 'animation' => 'DROP'], 'clusters' => ['size' => 10, 'center' => true, 'zoom' => 20]]);
Map Events

Before Load

This event is fired before the map is loaded.

Mapper::map(53.381128999999990000, -1.470085000000040000, ['eventBeforeLoad' => 'console.log("before load");']);

After Load

This event is fired after the map is loaded.

Mapper::map(53.381128999999990000, -1.470085000000040000, ['eventAfterLoad' => 'console.log("after load");']);

Location

The location method allows a location to be searched for with a string, returning a Location object with its latitude and longitude.

Mapper::location('Sheffield');
Mapper::location('Sheffield')->map(['zoom' => 15, 'center' => false, 'marker' => false, 'type' => 'HYBRID', 'overlay' => 'TRAFFIC']);
Mapper::location('Sheffield')->streetview(1, 1, ['ui' => false]);

Streetview

The streetview method allows a streetview map to be created, with latitude, longitude, heading, pitch and optional parameters for options.

Mapper::streetview(53.381128999999990000, -1.470085000000040000, 1, 1);
Mapper::streetview(53.381128999999990000, -1.470085000000040000, 1, 1, ['ui' => false]);

Marker

The marker method allows a marker to be added to a map, with latitude, longitude, and optional parameters for options.

Mapper::marker(53.381128999999990000, -1.470085000000040000);
Mapper::marker(53.381128999999990000, -1.470085000000040000, ['animation' => 'DROP', 'label' => 'Marker', 'title' => 'Marker', 'draggable' => true]);
Mapper::marker(53.381128999999990000, -1.470085000000040000, ['icon' => 'https://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=|FE6256|000000']);
Mapper::marker(53.381128999999990000, -1.470085000000040000, ['icon' => ['url' => 'https://chart.googleapis.com/chart?chst=d_map_pin_letter&chld=|FE6256|000000', 'scale' => 100]]);
Mapper::map(52.381128999999990000, 0.470085000000040000, ['markers' => ['icon' => ['symbol' => 'CIRCLE', 'scale' => 10], 'animation' => 'DROP', 'label' => 'Marker', 'title' => 'Marker']])->marker(53.381128999999990000, -1.470085000000040000);
Mapper::marker(53.381128999999990000, -1.470085000000040000, [
	'title' 	=> 'title',
	'icon'      => [
		'path'         => 'M10.5,0C4.7,0,0,4.7,0,10.5c0,10.2,9.8,19,10.2,19.4c0.1,0.1,0.2,0.1,0.3,0.1s0.2,0,0.3-0.1C11.2,29.5,21,20.7,21,10.5 C21,4.7,16.3,0,10.5,0z M10.5,5c3,0,5.5,2.5,5.5,5.5S13.5,16,10.5,16S5,13.5,5,10.5S7.5,5,10.5,5z',
		'fillColor'    => '#DD716C',
		'fillOpacity'  => 1,
		'strokeWeight' => 0,
		'anchor'       => [0, 0],
		'origin'       => [0, 0],
		'size'         => [21, 30]
	],
	'label'     => [
		'text' => 'Marker',
		'color' => '#B9B9B9',
		'fontFamily' => 'Arial',
		'fontSize' => '13px',
		'fontWeight' => 'bold',
	],
	'autoClose' => true,
	'clickable' => false,
	'cursor' => 'default',
	'opacity' => 0.5,
	'visible' => true,
	'zIndex' => 1000,
]);

Draggable Markers

If you need draggable marker, you can add option draggable.

Mapper::marker(53.381128999999990000, -1.470085000000040000, ['draggable' => true]);
Draggable Events

Click

This event is fired when the marker icon was clicked.

Mapper::marker(53.381128999999990000, -1.470085000000040000, ['draggable' => true, 'eventClick' => 'console.log("left click");']);

Double Click

This event is fired when the marker icon was double clicked.

Mapper::marker(53.381128999999990000, -1.470085000000040000, ['draggable' => true, 'eventDblClick' => 'console.log("double left click");']);

Right Click

This event is fired for a right click on the marker.

Mapper::marker(53.381128999999990000, -1.470085000000040000, ['draggable' => true, 'eventRightClick' => 'console.log("right click");']);

Mouse Over

This event is fired when the mouse enters the area of the marker icon.

Mapper::marker(53.381128999999990000, -1.470085000000040000, ['draggable' => true, 'eventMouseOver' => 'console.log("mouse over");']);

Mouse Down

This event is fired for a mouse down on the marker.

Mapper::marker(53.381128999999990000, -1.470085000000040000, ['draggable' => true, 'eventMouseDown' => 'console.log("mouse down");']);

Mouse Up

This event is fired for a mouse up on the marker.

Mapper::marker(53.381128999999990000, -1.470085000000040000, ['draggable' => true, 'eventMouseUp' => 'console.log("mouse up");']);

Mouse Out

This event is fired when the mouse leaves the area of the marker icon.

Mapper::marker(53.381128999999990000, -1.470085000000040000, ['draggable' => true, 'eventMouseOut' => 'console.log("mouse out");']);

Drag

This event is repeatedly fired while the user drags the marker.

Mapper::marker(53.381128999999990000, -1.470085000000040000, ['draggable' => true, 'eventDrag' => 'console.log("dragging");']);

Drag Start

This event is fired when the user starts dragging the marker.

Mapper::marker(53.381128999999990000, -1.470085000000040000, ['draggable' => true, 'eventDragStart' => 'console.log("drag start");']);

Drag End

This event is fired when the user stops dragging the marker.

Mapper::marker(53.381128999999990000, -1.470085000000040000, ['draggable' => true, 'eventDragEnd' => 'console.log("drag end");']);

Information Window

The informationWindow method allows an information window to be added to to a map, with latitude, longitude, content, and optional parameters for options.

Mapper::informationWindow(53.381128999999990000, -1.470085000000040000, 'Content');
Mapper::informationWindow(53.381128999999990000, -1.470085000000040000, 'Content', ['open' => true, 'maxWidth'=> 300, 'autoClose' => true, 'markers' => ['title' => 'Title']]);
Mapper::map(52.381128999999990000, 0.470085000000040000)->informationWindow(53.381128999999990000, -1.470085000000040000, 'Content', ['markers' => ['animation' => 'DROP']]);

Polyline

The polyline method allows a polyline to be added to a map, with coordinates, and optional parameters for options.

Mapper::polyline([['latitude' => 53.381128999999990000, 'longitude' => -1.470085000000040000], ['latitude' => 52.381128999999990000, 'longitude' => 0.470085000000040000]]);
Mapper::polyline([['latitude' => 53.381128999999990000, 'longitude' => -1.470085000000040000], ['latitude' => 52.381128999999990000, 'longitude' => 0.470085000000040000]], ['editable' => 'true']);
Mapper::map(52.381128999999990000, 0.470085000000040000)->polyline([['latitude' => 53.381128999999990000, 'longitude' => -1.470085000000040000], ['latitude' => 52.381128999999990000, 'longitude' => 0.470085000000040000]], ['strokeColor' => '#000000', 'strokeOpacity' => 0.1, 'strokeWeight' => 2]);

Polygon

The polygon method allows a polygon to be added to a map, with coordinates, and optional parameters for options.

Mapper::polygon([['latitude' => 53.381128999999990000, 'longitude' => -1.470085000000040000], ['latitude' => 52.381128999999990000, 'longitude' => 0.470085000000040000]]);
Mapper::polygon([['latitude' => 53.381128999999990000, 'longitude' => -1.470085000000040000], ['latitude' => 52.381128999999990000, 'longitude' => 0.470085000000040000]], ['editable' => 'true']);
Mapper::map(52.381128999999990000, 0.470085000000040000)->polygon([['latitude' => 53.381128999999990000, 'longitude' => -1.470085000000040000], ['latitude' => 52.381128999999990000, 'longitude' => 0.470085000000040000]], ['strokeColor' => '#000000', 'strokeOpacity' => 0.1, 'strokeWeight' => 2, 'fillColor' => '#FFFFFF']);

Rectangle

The rectangle method allows a rectangle to be added to a map, with coordinates, and optional parameters for options.

Mapper::rectangle([['latitude' => 53.381128999999990000, 'longitude' => -1.470085000000040000], ['latitude' => 52.381128999999990000, 'longitude' => 0.470085000000040000]]);
Mapper::rectangle([['latitude' => 53.381128999999990000, 'longitude' => -1.470085000000040000], ['latitude' => 52.381128999999990000, 'longitude' => 0.470085000000040000]], ['editable' => 'true']);
Mapper::map(52.381128999999990000, 0.470085000000040000)->rectangle([['latitude' => 53.381128999999990000, 'longitude' => -1.470085000000040000], ['latitude' => 52.381128999999990000, 'longitude' => 0.470085000000040000]], ['strokeColor' => '#000000', 'strokeOpacity' => 0.1, 'strokeWeight' => 2, 'fillColor' => '#FFFFFF']);

Circle

The circle method allows a circle to be added to a map, with coordinates, and optional parameters for options.

Mapper::circle([['latitude' => 53.381128999999990000, 'longitude' => -1.470085000000040000]]);
Mapper::circle([['latitude' => 53.381128999999990000, 'longitude' => -1.470085000000040000]], ['editable' => 'true']);
Mapper::map(52.381128999999990000, 0.470085000000040000)->circle([['latitude' => 53.381128999999990000, 'longitude' => -1.470085000000040000]], ['strokeColor' => '#000000', 'strokeOpacity' => 0.1, 'strokeWeight' => 2, 'fillColor' => '#FFFFFF', 'radius' => 1000]);

Render

The render method allows all maps to be rendered to the page, this method can be included in Views or added as controller passed parameter, and optional parameter for item.

Mapper::render();
Mapper::render(0);

RenderJavascript

The renderJavascript method allows all required javascript to be rendered to the page, this method can be included in Views or added as controller passed parameter.

Mapper::renderJavascript();

License

Googlmapper is open-sourced software licensed under the MIT license

Comments
  • Cornford\Googlmapper\Mapper::map() should not be called statically

    Cornford\Googlmapper\Mapper::map() should not be called statically

    I use laravel 5.1 and when need to use Googlmapper i see this an error
    Non-static method Cornford\Googlmapper\Mapper::map() should not be called statically, assuming $this from incompatible context

    Note:i did some of changes in my app.php file to be comptable with laravel 5.1 Instead of 'Cornford\Googlmapper\MapperServiceProvider' Cornford\Googlmapper\MapperServiceProvider::class

    And the Same thing in Facade aliases Any Suggestions

    Thanks for your time and thanks for this awesome API

    opened by muhammadatallah 50
  • Laravel 5.2 support

    Laravel 5.2 support

    Hey Bradley,

    I'm not too sure this package supports laravel 5.2 (or 5+). Just wondering if it's possible to use in L5. I really dig the functionality. Would be great to use

    help wanted 
    opened by silentFred 43
  • Ajax request

    Ajax request

    Hi, Is it possible to create some kind of ajax request. For example if we have huge points to show we will show the first 100 for example and the rest will be with ajax. Thanks mate. Your work is wonderfull.

    opened by m7vm7v 31
  • Invalid Location Breaks Page

    Invalid Location Breaks Page

    Hi,

    Mapper::location($event->address_postcode)->map(['zoom' => '10', 'center' => true, 'marker' => true, 'overlay' => 'ROADMAP']);

    Im entering in a postcode here, but if the postcode does not exist or is something random like 1111 then it breaks the page saying "No results found for the location search." is there a way i can handle that

    help wanted 
    opened by KayTokyo 29
  • Map not showing

    Map not showing

    I believe i've done everything right but the map is simply not showing. When inspecting the source the div does seems to be empty..

    MapController

    use Cornford\Googlmapper\Mapper;
    
    class MapController extends Controller
    {
      public function index()
      {
        Mapper::map(53.381128999999990000, -1.470085000000040000);
        return view('eventmap')
      }
    }
    

    View

    @extends('layouts.app')
    @section('content')
      <div class="row">
          <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
              <div class="embed-responsive embed-responsive-16by9">
                  <div id="map_canvas" class="embed-responsive-item">
                      {!! Mapper::render() !!}
                  </div>
              </div>
          </div>
      </div>
    @endsection
    
    help wanted 
    opened by Facerafter 28
  • How to dismiss previously opened info window?

    How to dismiss previously opened info window?

    Hi @bradcornford How can we dismiss previously opened info window to display another info window?

    Here's my code:

    foreach ($customers as $c) { Mapper::informationWindow($space->latitude, $space->longitude, 'Content', ['open' => true, 'markers' => ['title' => 'Title']]); }

    enhancement 
    opened by akosijiji 23
  • Google Map Gray Blank

    Google Map Gray Blank

    Hi, Thanks for this awesome package, it's really help me a lot when working with google maps. but i have a problem, the map only show gray box no map and there is no error message on console, could please help me ? Thanks, Laravel : 5.5 controller

    Mapper::map(-1.7922201, 116.9502052, ['zoom' => '5','center' => true, 'marker' => false, 'cluster' => false]);
            $provinceId = [];
        	$division = Division::find($id);
        	$sites = Site::where('division_id',$id)->get();
        	$areas = Area::where('division_id',$id)->with('province')->get();
            foreach ($areas as $area) {
                if ($area->has('sites')) {
                    $provinceId[] = $area->province->id;
                }
            }
            $ProvinceCollection = Province::find($provinceId);
            $ProvinceCollection->each(function($province)
            {
                $content = $province->province_name;
                Mapper::marker($province->province_cor_x, $province->province_cor_y,['eventClick' => 'window.location.href = "/map/province/'.$province->province_code.'";']);
            });
        	return view('maps.div',[
        		'areas' => $areas,
        		'division' => $division,
        		'sites' => $sites
        	]);
    

    view

    @extends('layouts.app')
    @section('content')
    {{ Breadcrumbs::render('division', $division) }}
    <div class="columns">
    	<div class="column">
    		<div class="card">
    			<header class="card-header">
    				<p class="card-header-title">
    					{{ $division->division_name }}
    				</p>
    			</header>
    			<div class="card-content">
    					<div id="mapdiv" style="width: 100%; height: 600px;">
    						{!! Mapper::render() !!}
    					</div>
    			</div>
    		</div>
    	</div>
    </div>
    @endsection
    
    bug 
    opened by muaramasad 17
  • Refresh map after getting geolocation

    Refresh map after getting geolocation

    Hi,

    When page loads, geolocation must be approved by user (accept or decline). When he clicks Accept I made a call in Ajax with params in get with longitude and latitude. When he declines the same page is showeb without geolocation (same view with map).

    In my Controller I use this :

    ` if ($request->ajax() && $request->lat && $request->long) { $networks = Network::all();

      Mapper::map($request->lat, $request->long, ['zoom' => 10, 'markers' => ['title' => trans('dashboard.networks.youarehere'), 'animation' => 'DROP']]);
    
      foreach ($networks as $network) {
        Mapper::informationWindow(
            $network->latitude,
            $network->longitude,
            $network->title
           /* [
             'open' => true, 'maxWidth'=> 300,
             'markers' => ['title' => $network->title.' chla']
            ]*/
        );
      }
      return view('dashboard.networks.networks', ['user' => Auth::user(), 'networks' => $networks]);
    

    } ` How can I refresh also the map ? How can I do ? I use the view with but of course the map is not refreshed even with my ajax call

    <div class="map" id="map" style="width: 100%; height: 400px;"> {!! Mapper::render() !!} </div>

    help wanted 
    opened by t-prod 15
  • The map does not show

    The map does not show

    Hello,

    I am trying to use Googlemapper in Laravel 5.4 and experience the problem. I believe I have everything configured correctly and now in my view I just simply have:

    <div style="width: 500px; height: 500px;">
      {!! Mapper::render() !!}
    </div>
    
    

    However the map does not show and there is just a blank space. Any ideas why it could be? Thank you :)

    help wanted 
    opened by MichaelPtacek 15
  • prob with publish config files

    prob with publish config files

    Hi, I'm using laravel 5.4.15 and and this command : php artisan vendor:publish --provider="Cornford\\Googlmapper\\MapperServiceProvider" --tag=googlmapper seem to publish nothing ! any ideas?

    help wanted 
    opened by atefBB 14
  • No results found for the location search.

    No results found for the location search.

    Hi,

    i use Mapper->location('8 allée du Général Benoît 69673 Bron'); At first all was working well and without any reason, it has stopped working, I even tried single locations like Paris or London but it stopped working for no reason. and i have this error : No results found for the location search.

    bug help wanted 
    opened by dam62500 14
  • Drawing Layer (Library)

    Drawing Layer (Library)

    Is there a way to add the Drawing Layer (Library) to the Mapper?

    I want to draw on map and then save it to the database as a geofence, is that possible with Mapper right now?

    opened by diggipacks 0
  • Creatable polygon map

    Creatable polygon map

    Hello, it would be really nice if we could add an option to be able to actually add the polygons, not just edit them. Is this something that was being considered?

    enhancement 
    opened by genesiscz 1
Releases(v2.35.1)
Owner
Bradley Cornford
Senior software engineer, creative designer, gym freak and all round fun loving guy.
Bradley Cornford
Laravel Google Maps Package

Laravel Google Maps This repo aims to use google map features in laravel 5.x. It is easy to use and flexible, you can just install this package and en

Farhan Wazir 143 Sep 14, 2022
Collection of Google Maps API Web Services for Laravel

Collection of Google Maps API Web Services for Laravel Provides convenient way of setting up and making requests to Maps API from Laravel application.

Alexander Pechkarev 455 Sep 23, 2022
Easy Way to integrate API in you laravel application.

Easy Api Easy Way to integrate API in you laravel application. Installation Guide Install Package using Composer. composer require flutterbuddy1/easy-

Mayank Diwakar 2 Aug 31, 2022
MapServer and PHP-MapScript application to create publication-quality maps

SimpleMappr Installation and Configuration SimpleMappr, http://www.simplemappr.net is a web-based application that produces publication-quality geogra

David Shorthouse 28 Mar 17, 2022
Laravel-tagmanager - An easier way to add Google Tag Manager to your Laravel application.

Laravel TagManager An easier way to add Google Tag Manager to your Laravel application. Including recommended GTM events support. Requirements Laravel

Label84 17 Jul 6, 2022
A plugin for Blessing Skin Server that can let you display Google Ads with Google AdSense in the website.

A plugin for Blessing Skin Server that can let you display Google Ads with Google AdSense in the website.

Big_Cake 2 Jan 25, 2022
Laravel Breadcrumbs - An easy way to add breadcrumbs to your @Laravel app.

Introduction Breadcrumbs display a list of links indicating the position of the current page in the whole site hierarchy. For example, breadcrumbs lik

Alexandr Chernyaev 266 Sep 16, 2022
Laravel Serializable Closure provides an easy way to serialize closures in PHP.

Serializable Closure Introduction This package is a work in progress Laravel Serializable Closure provides an easy way to serialize closures in PHP. I

The Laravel Framework 289 Sep 19, 2022
Easy way to upload Laravel model related files from the request.

Easy way to upload laravel model related file from the requset.

Emon Khan 5 Jun 28, 2022
🏭 An easy way to generate populated factories for models.

Laravel Populated Factory provides an easy way to generate populated factories for models according to types & names of their columns. Install You can

Coderello 241 Jul 18, 2022
An easy way to add colors in your CLI scripts.

COLORS Here is a preview of what you can achieve with the library: Installation Installation via composer is highly recommended. { "require": {

Kevin Le Brun 334 Jul 6, 2022
An easy way to get vendor and package data from Packagist via API calls

Laravel Packagist Laravel Packagist (LaravelPackagist) is a package for Laravel 5 to interact with the packagist api quickly and easily. Table of cont

Jeremy Kenedy 5 Jul 18, 2022
Easily Integrate PingPing APIs in your Laravel Project

PingPing This composer package allows us to easily integrate PingPing APIs in your Laravel project. What is PingPing ? PingPing is the simplest uptime

Bhushan Gaikwad 15 Mar 22, 2022
An elegant package for integrate laravel with openwa

Whatsapp Laravel An elegant package to integrate Laravel with Whatsapp automate Features Function Reference Send text Send contact Send media (doc, im

Ardzz Jay Steve 7 Aug 21, 2022
Integrate Astrel to your Laravel applications.

✨ Astrel Laravel Integrate Astrel to your Laravel applications. Astrel is a remote config orchestration application that enables you to change anythin

Sustainable Hustle 3 Jan 9, 2022
Smeify is a Stable Automated Solution for Airtime and Data businesses in Nigeria, this package helps you integrate smeify easily into your laravel application.

Smeify is a Stable Automated Solution for Airtime and Data businesses in Nigeria, this package helps you integrate smeify easily into your laravel application.

Ogundiran Adewale Charles 2 Jul 27, 2022
🖖Repository Pattern in Laravel. The package allows to filter by request out-of-the-box, as well as to integrate customized criteria and any kind of filters.

Repository Repository Pattern in Laravel. The package allows to filter by request out-of-the-box, as well as to integrate customized criteria and any

Awes.io 158 Sep 1, 2022
Easily integrate single-database multi tenant features into your Laravel application

Laravel Tenant Aware Easily integrate single-database multi tenant features into your Laravel application. Installation You can install the package vi

H-FARM Innovation 8 Sep 16, 2022
Ajar anak anak software looka integrate tailwind

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Aliff Rosli 2 Dec 21, 2021