Skip to content

kratosmat/angular-openlayers-directive

 
 

Repository files navigation

angular-openlayers-directive

Work in progress.

AngularJS directive for the OpenLayers (version 3) Javascript Library. This software allows you to embed maps managed by openlayers on your AnguarJS or OpenLayers project. It's a good starting point to learn the Openlayers API too.

Let's start with some basic examples. Look at the source code of the example to see all the code you need to embed a similar interactive map on our page.

You can take a look at the current documentation go get a more detailed explanation of how it works and what you can accomplish with this directive:

Quick start: How to use it

First of all, load AngularJS and Openlayers(V3) in your HTML.

After that, you must include the openlayers-directive dependency on your angular module:

var app = angular.module("demoapp", ["openlayers-directive"]);

The default behaviour will show an OpenstreetMap layer and the zoom and attributions controls, but you can customize those default vaules to fit your needs. For example, this HTML will show a map with a Mapquest layer, centered on

angular.extend($scope, {
    defaults: {
        layers: {
            main: {
                source: {
                    type; "OSM",
                    url: "http://{s}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png",
                }
            }
        },
        maxZoom: 14
    }
});

Furthermore, you can set a bi-directional update of values between the map and the variables of your controler. This way you can interact easily with the map. Example:

angular.extend($scope, {
    center: {
        lat: 51.505,
        lon: -0.09,
        zoom: 8
    }
});

Finally, you must include the markup directive on your HTML page, like this:

<openlayers ol-center="center" height="480px" width="640px"></openlayers>

About

AngularJS directive to embed an interact with maps managed by the OpenLayers library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 97.1%
  • CSS 2.9%