egeloen/google-map
PHP 5.6+ Google Maps JavaScript API v3 integration. Build and render maps with configurable controls, overlays, events and services via helpers, plus easy API script rendering with your key.
Pros:
MapHelperBuilder, ApiHelperBuilder), enabling granular control over map configurations (e.g., overlays, controls, events). This fits well with Laravel’s service-oriented architecture.GroundOverlay), useful for location-based apps (e.g., logistics, real estate).Cons:
StaticMapHelper exists, dynamic maps require JS API initialization, which may conflict with Laravel Mix/Vite asset pipelines.Map, ApiHelper, and MapHelper to the container..env and inject them via dependency injection.coordinates, addresses) and hydrate map objects dynamically.MapHelper.google-maps npm package).nikic/php-parser).google-maps npm package or CDN).latitude, longitude, address) and hydrate map objects.composer require egeloen/google-map
.env with Google API keys.// app/Providers/GoogleMapServiceProvider.php
public function register()
{
$this->app->bind(Map::class, function () {
return new Map();
});
}
Location with latitude, longitude).resources/js/app.js or via Blade:
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_KEY"></script>
MapHelper:
{{ $mapHelper->render($map) }}
google.maps.event.addListener(map, 'click', (event) => {
axios.post('/map/click', { lat: event.latLng.lat(), lng: event.latLng.lng() });
});
.env.local).$cachedData = Cache::remember("geocode_{$address}", now()->addHours(1), function () use ($address) {
return $geocoder->geocode($address);
});
How can I help you explore Laravel packages today?