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 ol.interaction.DragRotateAndZoom


Let's follow the component's self-explaining name to try out it behaviour :

  1. First, duplicate the code from the previous ol.interaction.defaults sample.

  2. Then, make changes in the interactions block in the ol.Map object as follows:

    var map = new ol.Map({
      ...
      interactions: ol.interaction.defaults({
        shiftDragZoom: false
      }).extend([new ol.interaction.DragRotateAndZoom()]),
      ...
    });
  3. Finally, open your browser and drag while maintaining the keyboard on the Shift key.

What just happened?

First, as it can conflict with ol.interaction.DragRotateAndZoom, we deactivated the shiftDragZoom interaction by setting it to false. We chose this option, but it was also possible to change the key to activate the function using the condition property.

You also saw the now-common pattern to add interactions to existing default interaction using an array within the extend block. Practically, you also learned how to use the behavior.

Now, let's jump to...