Book Image

OpenLayers Cookbook

Book Image

OpenLayers Cookbook

Overview of this book

Data visualization and analysis has become an important task for many companies. Understanding the basic concepts of GIS and knowing how to visualize data on a map is a required ability for many professionals today. OpenLayers is a JavaScript library to load, display, and render maps from multiple sources on web pages."OpenLayers Cookbook" teaches how to work with OpenLayers, one of the most important and complete open source JavaScript libraries.Through an extensive set of recipes, this book shows how to work with the main concepts required to build a GIS web applicationñ maps, raster and vector layers, styling, theming, and so on."OpenLayers Cookbook" includes problem solving and how-to recipes for the most common and important tasks. A wide range of topics are covered.The range of recipes includes: creating basic maps, working with raster and vector layers, understanding events and working with main controls, reading features from different data sources, styling features, and understanding the underlying architecture."OpenLayers Cookbook" describes solutions and optimizations to problems commonly found.
Table of Contents (15 chapters)
OpenLayers Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Listening for vector layer features' events


When working with vector layers, it is common to find a situation where you need to know what is happening, that is, when a new feature is going to be added to the layers or when a feature has been modified, deleted, and so on. Fortunately, vector layer has the capability to trigger a great fan of events.

The goal of this recipe is to show how easy it is to listen for events in a vector layer and know what is happening on it.

We are going to load a GML file with some cities around the world, and we will style its fill color depending on some feature attribute.

How to do it...

  1. Create an HTML file and add the OpenLayers library dependency files. Then, add a div element to define where to hold the map instance:

    <div id="ch04_vector_layer_listener" style="width: 100%; height: 100%;"></div>
  2. Initialize the map instance, add a base layer, and centralize the viewport:

    <!-- The magic comes here -->
    <script type="text/javascript">
        /...