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
- 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
- View rotation example
- Events propagation example
- Events with vectors example
- Events with vectors and dynamic styles 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:
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>