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 – coordinate transforms


Proj4js is not necessary for this example, as transforming between these two projections is possible without proj4js. Try the following steps:

  1. Open up the previous example in your browser. We won't be modifying any code, so any page that includes the OpenLayers library will be fine.

  2. Open Chrome Developer Tools. In the console, create two projection objects:

    var proj_4326 = ol.proj.get('EPSG:4326');
    var proj_3857 = ol.proj.get('EPSG:3857');
  3. Now, let's create an array with x, y coordinates, which will contain a point in EPSG:4326 coordinates:

    var point_to_transform = [-79, 42];
  4. And now, let's transform it. We'll take it from EPSG:4326 (our source proj_4326 projection object) to EPSG:3857 (our destination proj_3857 projection object):

    var myTransformedPoint = ol.proj.transform(point_to_transform, proj_4326, proj_3857);
  5. Finally, we'll print the new value:

    console.log(myTransformedPoint);
    console.log(myTransformedPoint[0], myTransformedPoint[1]);
  6. Your output should...