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 – more options with ol.interaction.Select


Now, let's reuse the previous example and discover more.

  1. Start by copying 2360_08_01_simple_select.html in a new file called 2360_08_02_select_options.html.

  2. After the vectorEuropa declaration, add the following JavaScript code to create the vector layer for points. A new dataset, a GeoJSON file france_4326.geojson, is available on the book's webpage:

    var defaultFrancePoints = new ol.style.Style({
      image: new ol.style.Circle({
        fill: new ol.style.Fill({
          color: 'blue'
        }),
        stroke: new ol.style.Stroke({
          color: '#ffcc00'
        }),
        radius: 8
      })
    });
    var selectFrancePoints = new ol.style.Style({
      image: new ol.style.Circle({
        fill: new ol.style.Fill({
          color: '#ff0000'
        }),
        stroke: new ol.style.Stroke({
          color: '#ffccff'
        }),
        radius: 16
      })
    });
    var vectorFrancePoints = new ol.layer.Vector({
      id: 'france',
      source: new ol.source.GeoJSON({
        projection: 'EPSG:3857',
        url: '../assets...