finds.dev← search

// the find

sebholstein/angular-google-maps

★ 2,028 · TypeScript · MIT · updated Jun 2024

Angular 2+ Google Maps Components

AGM is an Angular wrapper around the Google Maps JavaScript API, letting you drop maps, markers, and info windows into Angular templates as components rather than wiring up the imperative Maps API by hand. It targets Angular 9+ and covers the common use cases: markers, clustering, drawing tools, custom info windows. Realistically, this is for teams building internal Angular apps that need maps and don't want to touch the Maps SDK directly.

The component model is genuinely well thought out — `<agm-map>`, `<agm-marker>`, `<agm-info-window>` compose naturally in Angular templates with proper input/output bindings, which beats manually managing map instances in lifecycle hooks. The monorepo split into `@agm/core`, `@agm/markerclusterer`, `@agm/drawing`, and `@agm/snazzy-info-window` means you only pull in what you actually use. There's a working Stackblitz demo so you can evaluate it without cloning anything. Download counts on npm suggest real production adoption, which means the rough edges have been shaken out.

The project is effectively dead — last meaningful commit activity dried up years ago, and Angular has since moved through Ivy, standalone components, and signals while this library hasn't kept up. The `AgmCoreModule` approach is the old NgModule pattern; there's no standalone component API, which is now the Angular default. Google also deprecated parts of the Maps JavaScript API it wraps. If you're starting a new project today, you'd be better off with the official `@googlemaps/js-api-loader` plus a thin wrapper you control, or looking at whether Google's newer Maps SDK has first-party Angular support. CI is on Travis CI (the free tier was killed years ago), so you can't trust the green badge.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →