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.
- Basic example
- Center example
- Center with no javascript
- Center url hash example
- Center autodiscover example
- Center constrain zoom example
- Center with updated bounds example
- Custom parameters example
- Layers customized with no javascript
- Layers change tiles example
- Layers zoom tiles changer example
- Layers opacity example
- Layers Bing Maps example
- Layers MapQuest example
- Layers GeoJSON example
- Layers GeoJSON center example
- Layers TopoJSON example
- Layers static image example
- Layers Stamen maps example
- Layers GeoJSON change style example
- Layers GeoJSON change style with function example
- Layers Heatmap example
- Layers Image WMS example
- Add/Remove/Change Layers dynamically example
- Load inline GeoJson in layer example
- Layer Clustering
- Marker example
- Marker and layer with no javascsript example
- Marker add/remove from map example
- Marker with label example
- Dynamic marker properties example
- Marker with HTML render inside label example
- Marker in static image layer example
- Marker custom icon example
- View rotation example
- Events propagation example
- Events with vectors example
- Events with vectors and dynamic styles example
- Events in an static image layer example
- Events in a KML layer example
- Multiple maps example
- Controls example
- Fullscreen control example
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:
Build the files yourself, download from bower
$ bower install angular-openlayers-directive --save
or from npm
$ npm install angular-openlayers-directive --save
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. 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>
Contributions are more than welcome. Please refer to the contributions guidelines for more details on code style, development life-cycle etc.