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 – creating a vector layer


We'll begin by creating a basic vector layer. Start a new page using the sandbox template. We'll use some existing vector data (found in the assets/data folder of the sample code that comes with this book) that contains polygons outlining countries of the world and display it in a map:

  1. Add the following code to the <script> tag to create our vector layer:

    var vectorSource = new ol.source.GeoJSON({
      projection: 'EPSG:3857',
      url: '../assets/data/countries.geojson'
    });
    var vectorLayer = new ol.layer.vector({
      source: vectorSource
    });
  2. Next, create a view object:

    var center = ol.proj.transform([0, 0], 'EPSG:4326', 'EPSG:3857');
    var view = new ol.View ({
      center: center,
      zoom: 1,
    });
  3. Now, create a map variable and add the vector layer the same way you would add any other layer:

    var map = new ol.Map({
     target: 'map',
      layers: [vectorLayer],
      view: view
    });
  4. Now load the page in your browser, you should see something like the following screenshot...