angular-leaflet-directive - An AngularJS directive to easily interact with Leaflet maps

Downloads in past


1,5081340.10.08 years ago10 years agoMinified + gzip package size for angular-leaflet-directive in KB


Angular Leaflet Directive
AngularJS directive for the Leaflet Javascript Library. This software aims to easily embed maps managed by Leaflet on your project.


This is a personal project, which has been coded by me helped by many people for some years. I continue evolving it frequently, but if you need enterprise support of it, sorry, I can't give you more support that my spare time allows me. If you want to help it would be really appreciated, first of all, please, read the CONTRIBUTING documentation
Build Status Dependencies  Dependencies Coverage


If you need better response time with your doubts and needs, take a look at the angular-ui fork of this project, it's lead by really awesome developers which have helped me evolving the project for some time.
Build Status Dependencies  Dependencies Coverage


Browse all the examples added by the community to learn about the directive and its possibilities.


Still working on it. In the meantime, take a look at this URL for some minimal descriptions:

Getting started/How to use it

Include the leaflet-directive dependency on your Angular module:
var app = angular.module('demoapp', ['leaflet-directive']);

After that, you are ready to rock. Just define some objects with the basic configuration you want reflected in your map and the rendered map will obey you. Also, you can modify that configuration dinamically if you need to. Let's see an example.


If you want to set the map view to a precise position, you can define the "center" property of the scope (lat, lng, zoom). It will also be updated interacting on the scope and on the leaflet map in two-way binding. Example:
angular.extend($scope, {
    center: {
        lat: 51.505,
        lng: -0.09,
        zoom: 8

Finally, you must include the markup directive on your HTML page. One important thing is that you must define the map width&height, as attributes of the directive or with CSS code, as you wish.
<leaflet lf-center="center" height="480px" width="640px"></leaflet>

If you want to have more than one map on the page and access their respective map objects, add an id attribute to your leaflet directive in HTML:
<leaflet id="mymap" lf-center="center" height="480px" width="640px"></leaflet>