AngularJS Google Maps Directives

Added by: Sam Deering





Stars: 212

Watchers: 212

Forks: 51


Dylan Price
Dylan Price

Module Description


AngularGM is a set of directives for embedding Google Maps in your application using the Google Maps Javascript API.

Build Status

Latest version: 1.0.1


  • Bi-directional association of map bounds, center, and zoom with scope variables
  • Multiple Google Maps can be embedded in the same page
  • Works with ngView and reuses map instances so there is no memory leak
  • Bind custom objects to markers
  • Listen for and generate events on markers/objects
  • Create InfoWindows which compile Angular expressions (credit goes to ui-map for this feature)
  • Create polylines

Documentation and Examples

Quick Start

Include the required libraries

<script src="//"></script>
<script src="//"></script>
<script src="//"></script>

Declare a dependency on the AngularGM module

var app = angular.module('myModule', ['AngularGM']);

Make a map

<gm-map gm-map-id="'myMap'" gm-center="center" gm-zoom="zoom" gm-bounds="bounds" gm-map-type-id="mapTypeId" style="width:500px;height:500px;"></gm-map>

There is also the option to install through Bower: bower install AngularGM


Clone the repo, git clone git://

AngularGM is tested with karma

$ sudo npm install grunt-cli --global
$ npm install
$ grunt karma:server

You can build the latest version using grunt.

$ grunt build

You can also view the latest documentation on your local machine.

$ grunt && grunt connect

then go to http://localhost:8000/dist/docs/

Pull Requests welcome!


Dylan Price ([email protected],


Inspired by Nicolas Laplante's angular-google-maps directive (

README and project layout stolen from Olivier Louvignes' AngularStrap repo (

Much of the gmInfoWindow directive code is from the ui-map project


Moved to

Module stats last updated: 2018-01-03 15:00:02

Disclaimer: Some data on this page may have been gathered from the authors GitHub respository. If you see any mistakes or outdated information please let us know. Thanks!