Book Image

OpenLayers 3: Beginner's Guide

By : Thomas Gratier, Paul Spencer, Erik Hazzard
Book Image

OpenLayers 3: Beginner's Guide

By: Thomas Gratier, Paul Spencer, Erik Hazzard

Overview of this book

<p>This book is a practical, hands-on guide that provides you with all the information you need to get started with mapping using the OpenLayers 3 library.</p> <p>The book starts off by showing you how to create a simple map. Through the course of the book, we will review each component needed to make a map in OpenLayers 3, and you will end up with a full-fledged web map application. You will learn the key role of each OpenLayers 3 component in making a map, and important mapping principles such as projections and layers. You will create your own data files and connect to backend servers for mapping. A key part of this book will also be dedicated to building a mapping application for mobile devices and its specific components.</p>
Table of Contents (22 chapters)
OpenLayers 3 Beginner's Guide
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Time for action – using bindTo


The bindTo method is extremely powerful and makes many seemingly advanced tasks quite easy to accomplish. Let's set up an HTML checkbox element that we can use to control the visibility of a map layer.

  1. Using the same sample file we started earlier in the chapter, add the following on a new line between <div id="map"> and the <script> tag:

    <input type="checkbox" id="visible" checked> Toggle Layer Visibility

    This will add a new HTML element, a checkbox, to our web page and we will use this to turn our layer on and off.

  2. Next, add the following two lines of code at the end of the script tag:

    var visible = new ol.dom.Input(document.getElementById('visible'));
    visible.bindTo('checked', layer, 'visible');

    This code creates a new instance of ol.dom.Input, an OpenLayers helper class that connects to our checkbox element. It then uses the bindTo() method to observe changes in the checked attribute and send them to the layer, specifically to the visible property...