Drupal NYC Meetup @ 30 Rock - Feb 6th
How to turn Drupal 8
into an advanced Web
GIS 2.0 application
with the Geofield
Mapping stack
@Italo Mairo - www.italomairo.com
Drupal NYC Meetup @ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com )
Who I am … Italo Mairo
• Recently moved to New York City 

as Drupal Web Solutions Architect at the United Nations;

• Long standing (15+ years) experience in open-source Web solutions;

• Special interest on Web 2.0 GIS with (full and almost full) opesource
Mapping frameworks ;

• and Drupal (since v7) …

• creator of the Geofield Map for D8 and then (… remarkable turn of
events) lead maintainer of the whole Geofield Mapping stack (including
Geofield, Leaflet, and Geocoder). 

• You can learn more about me on my Linkedin 

and at http://italomairo.italomairo.com/en
Freelance Engineer

Experienced Drupal developer and active contributor on Drupal.org (itamair)
Drupal NYC Meetup @ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com )
Drupal as a Web GIS 2.0 platform …
Potentially a great opportunity to integrate JS frameworks Mapping and
Spatial Data Analysis capabilities with all Drupal entity modelling, big data
management and scalable functionalities ecosystem.
Drupal NYC Meetup @ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com )
Drupal as a Web GIS 2.0 platform …
Potentially a great opportunity to integrate JS frameworks Mapping and
Spatial Data Analysis capabilities with all Drupal entity modelling, big data
management and scalable functionalities ecosystem.
Drupal NYC Meetup @ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com )
Drupal as a Web GIS 2.0 platform …
Potentially a great opportunity to integrate JS frameworks Mapping and
Spatial Data Analysis capabilities with all Drupal entity modelling, big data
management and scalable functionalities ecosystem.
Drupal NYC Meetup @ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com )
Drupal as a Web GIS 2.0 platform …
Potentially a great opportunity to integrate JS frameworks Mapping and
Spatial Data Analysis capabilities with all Drupal entity modelling, big data
management and scalable functionalities ecosystem.
Drupal NYC Meetup @ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com )
Drupal as a Web GIS 2.0 platform …
Potentially a great opportunity to integrate JS frameworks Mapping and
Spatial Data Analysis capabilities with all Drupal entity modelling, big data
management and scalable functionalities ecosystem.
Drupal NYC Meetup @ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com )
The D8 Geofield Mapping Stack
• as it was in Drupal 7, also in Drupal 8 (IMHO) the Geofield module still is
the most sophisticated solution to turn Drupal into a Web GIS
(Geographic Information Systems) 2.0 application, with mapping and
spatial representation.

• it is the only module able to manage not only Point type features, 

but also Geometry Collections such as Polylines and Polygons.

• the Geofield D8 version takes advantage of D8's object oriented
development patterns (services and plugins) and cross integrations with
other modules and PHP geomapping & geocoding libraries.
• for sake of completensess, other possible existing Geo Mapping
solutions on Drupal 8 (fair to compare and consider) are Geolocation
and Styled Google Map modules.
Drupal NYC Meetup @ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com )
The D8 Geofield Mapping Context
How many of you are already using Maps in Drupal 8 projects?
How many of you use Composer for managing your Drupal 8?
(it is mandatory in this context)
What other module are you using?
How many of you are using Geofield module for D8?
(I guess all of you would like to use, as you are here)

or may be you just like Drupal NYC Meetup pizza (?!)
Drupal NYC Meetup @ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com )
Characteristics & Clarifications
Advanced Functionalities,
developed with strict php & drupal 8 coding standards
with great focus and care to:

Easy of use and UX & UI
Multilingual Support
but still Work in Progress Project(s)
Not Perfect and Complete

with possible Bugs & Missing Features
Drupal NYC Meetup @ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com )
• creates a Geofield Field Type, able to store geographic data;

• supports all geo-types (points, lines, polygons, multitypes etc.);

• manages geo data in WKT (Well Know Text Format);

• implements basic Geofield Widgets (WKT Raw, Latitude/Longitude)
and Formatters (WKT Raw, Latitude/Longitude);

• depends from GeoPHP geospatial library;
Install (composer required) and enable

$ composer require ‘drupal/geofield’
$ drush en geofield
Geofield module (for Drupal 8)
Drupal NYC Meetup @ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com )
Geofield Map module (for Drupal 8)
provides the Geofield with advanced Mapping functionalities such as

• highly customizable Geofield Map Widget, with both Google Maps and
Leaflet support;

• highly customizable Geofield Map Formatters with Google Maps APIs
and Google Maps Static APIs support;

• a dedicated Geofield Map View style able to render Entities on a higly
customizable Google Map View;

• advanced Infowindow specifications and Markers Clustering

• dynamic Markers Theming & Legends Specifications (unique in Drupal)
Install (composer required) and enable

$ composer require ‘drupal/geofield_map'
$ drush en geofield_map
Drupal NYC Meetup @ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com )
Leaflet module (for Drupal 8)
integrates the Geofield on the front-end side with the Leaflet JavaScript
Mapping library (full Open Source), with:

• a customizable Leaflet Formatter for Geofield; 

• a dedicated Leaflet Map View style able to render (Geofield provided)
Entities on a customizable Leaflet Map View;

• lightweight and easy to use APIs (hook_leaflet_map_info) for defining
customized Leaflet maps;

• integration with (dependant) Leaflet Markercluster module;

• (actually) limited support for dynamic Markers Theming, with Tokens 

(no support for Legends);
Install (composer required) and enable

$ composer require ‘drupal/leaflet'
$ drush en leaflet leaflet_views leaflet_markercluster
Drupal NYC Meetup @ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com )
Geocoder module (for Drupal 8)
most advanced, complete and easy to use solution to process Geocode
and Reverse Geocode operations on Drupal Entities.

• dependecy and solid API based on Geocoder PHP library;

• multiple (configurable) Geocoder providers (ArcGISOnline, BingMaps,
GoogleMaps, Nominatim, OpeneStreetMap, etc);

• results Dumping into multiple formats such as WKT, GeoJson, etc;

• entity fields widgets and formatters, via Geocoder Field submodule;

• Geofield and Address fields/modules advanced integration;

• geocode of Image Exif GPS, GPX, KML and Geojson data;
Install (composer required) and enable

$ composer require ‘drupal/geocoder'
$ drush en geocoder geocoder_field geocoder_geofield geocoder_address
Drupal NYC Meetup @ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com )
Advanced 

Real Time DEMO (!)
http://www.geodemocracy.com/geofield_d8/web/
Drupal NYC Meetup @ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com )
Thaaannnnks!

How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack

  • 1.
    Drupal NYC Meetup@ 30 Rock - Feb 6th How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack @Italo Mairo - www.italomairo.com
  • 2.
    Drupal NYC Meetup@ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com ) Who I am … Italo Mairo • Recently moved to New York City 
 as Drupal Web Solutions Architect at the United Nations; • Long standing (15+ years) experience in open-source Web solutions; • Special interest on Web 2.0 GIS with (full and almost full) opesource Mapping frameworks ; • and Drupal (since v7) … • creator of the Geofield Map for D8 and then (… remarkable turn of events) lead maintainer of the whole Geofield Mapping stack (including Geofield, Leaflet, and Geocoder). • You can learn more about me on my Linkedin 
 and at http://italomairo.italomairo.com/en Freelance Engineer Experienced Drupal developer and active contributor on Drupal.org (itamair)
  • 3.
    Drupal NYC Meetup@ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com ) Drupal as a Web GIS 2.0 platform … Potentially a great opportunity to integrate JS frameworks Mapping and Spatial Data Analysis capabilities with all Drupal entity modelling, big data management and scalable functionalities ecosystem.
  • 4.
    Drupal NYC Meetup@ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com ) Drupal as a Web GIS 2.0 platform … Potentially a great opportunity to integrate JS frameworks Mapping and Spatial Data Analysis capabilities with all Drupal entity modelling, big data management and scalable functionalities ecosystem.
  • 5.
    Drupal NYC Meetup@ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com ) Drupal as a Web GIS 2.0 platform … Potentially a great opportunity to integrate JS frameworks Mapping and Spatial Data Analysis capabilities with all Drupal entity modelling, big data management and scalable functionalities ecosystem.
  • 6.
    Drupal NYC Meetup@ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com ) Drupal as a Web GIS 2.0 platform … Potentially a great opportunity to integrate JS frameworks Mapping and Spatial Data Analysis capabilities with all Drupal entity modelling, big data management and scalable functionalities ecosystem.
  • 7.
    Drupal NYC Meetup@ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com ) Drupal as a Web GIS 2.0 platform … Potentially a great opportunity to integrate JS frameworks Mapping and Spatial Data Analysis capabilities with all Drupal entity modelling, big data management and scalable functionalities ecosystem.
  • 8.
    Drupal NYC Meetup@ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com ) The D8 Geofield Mapping Stack • as it was in Drupal 7, also in Drupal 8 (IMHO) the Geofield module still is the most sophisticated solution to turn Drupal into a Web GIS (Geographic Information Systems) 2.0 application, with mapping and spatial representation. • it is the only module able to manage not only Point type features, 
 but also Geometry Collections such as Polylines and Polygons. • the Geofield D8 version takes advantage of D8's object oriented development patterns (services and plugins) and cross integrations with other modules and PHP geomapping & geocoding libraries. • for sake of completensess, other possible existing Geo Mapping solutions on Drupal 8 (fair to compare and consider) are Geolocation and Styled Google Map modules.
  • 9.
    Drupal NYC Meetup@ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com ) The D8 Geofield Mapping Context How many of you are already using Maps in Drupal 8 projects? How many of you use Composer for managing your Drupal 8? (it is mandatory in this context) What other module are you using? How many of you are using Geofield module for D8? (I guess all of you would like to use, as you are here) or may be you just like Drupal NYC Meetup pizza (?!)
  • 10.
    Drupal NYC Meetup@ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com ) Characteristics & Clarifications Advanced Functionalities, developed with strict php & drupal 8 coding standards with great focus and care to: Easy of use and UX & UI Multilingual Support but still Work in Progress Project(s) Not Perfect and Complete with possible Bugs & Missing Features
  • 11.
    Drupal NYC Meetup@ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com ) • creates a Geofield Field Type, able to store geographic data; • supports all geo-types (points, lines, polygons, multitypes etc.); • manages geo data in WKT (Well Know Text Format); • implements basic Geofield Widgets (WKT Raw, Latitude/Longitude) and Formatters (WKT Raw, Latitude/Longitude); • depends from GeoPHP geospatial library; Install (composer required) and enable $ composer require ‘drupal/geofield’ $ drush en geofield Geofield module (for Drupal 8)
  • 12.
    Drupal NYC Meetup@ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com ) Geofield Map module (for Drupal 8) provides the Geofield with advanced Mapping functionalities such as • highly customizable Geofield Map Widget, with both Google Maps and Leaflet support; • highly customizable Geofield Map Formatters with Google Maps APIs and Google Maps Static APIs support; • a dedicated Geofield Map View style able to render Entities on a higly customizable Google Map View; • advanced Infowindow specifications and Markers Clustering • dynamic Markers Theming & Legends Specifications (unique in Drupal) Install (composer required) and enable $ composer require ‘drupal/geofield_map' $ drush en geofield_map
  • 13.
    Drupal NYC Meetup@ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com ) Leaflet module (for Drupal 8) integrates the Geofield on the front-end side with the Leaflet JavaScript Mapping library (full Open Source), with: • a customizable Leaflet Formatter for Geofield; • a dedicated Leaflet Map View style able to render (Geofield provided) Entities on a customizable Leaflet Map View; • lightweight and easy to use APIs (hook_leaflet_map_info) for defining customized Leaflet maps; • integration with (dependant) Leaflet Markercluster module; • (actually) limited support for dynamic Markers Theming, with Tokens 
 (no support for Legends); Install (composer required) and enable $ composer require ‘drupal/leaflet' $ drush en leaflet leaflet_views leaflet_markercluster
  • 14.
    Drupal NYC Meetup@ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com ) Geocoder module (for Drupal 8) most advanced, complete and easy to use solution to process Geocode and Reverse Geocode operations on Drupal Entities. • dependecy and solid API based on Geocoder PHP library; • multiple (configurable) Geocoder providers (ArcGISOnline, BingMaps, GoogleMaps, Nominatim, OpeneStreetMap, etc); • results Dumping into multiple formats such as WKT, GeoJson, etc; • entity fields widgets and formatters, via Geocoder Field submodule; • Geofield and Address fields/modules advanced integration; • geocode of Image Exif GPS, GPX, KML and Geojson data; Install (composer required) and enable $ composer require ‘drupal/geocoder' $ drush en geocoder geocoder_field geocoder_geofield geocoder_address
  • 15.
    Drupal NYC Meetup@ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com ) Advanced Real Time DEMO (!) http://www.geodemocracy.com/geofield_d8/web/
  • 16.
    Drupal NYC Meetup@ 30 Rock - Feb 6th - How to turn Drupal 8 into an advanced Web GIS 2.0 application with the Geofield Mapping stack (@Italo Mairo - www.italomairo.com ) Thaaannnnks!