A bridge to use turf along google maps API
Clone or download
Latest commit 2c64d54 Aug 31, 2018



Travis CI

A bridge to use Turf along with google Maps API.


Turf offers a rich set of geometric operations, but it works with GeoJSON inputs. This library bridges a subset of turf operations (that might steadily grow) to allow the user to apply the same operations to google maps objects such as Polygons, Polylines and Markers.

Most of these methods return a GeoJSON feature, given the output of these geometric operations might not be suitable for conversion to a google maps object (which is the case of MultiPolygons or MultiLinestring). Some of them accept an output parameter that, if passed object as value, will try to return a google maps object using Wicket.

In future releases, we might consider returning MultiGeometries or FeatureCollections as an instance of a google.maps.Data layer. We have avoided said functionality in the current release.


Install it with

npm install turf-google-maps

Or, if you're using JSPM

jspm install npm:turf-google-maps


The main script as defined in package.json is an UMD module. If you're using ES6 syntax, you might import individual modules from dist/ig_turfhelper.esm.jslike so:

import {
} from 'turf-google-maps/dist/ig_turfhelper.esm.js'

Which might help you perform some tree shaking in your build stage.



Takes a google.maps.Polyline and returns a Feature of type Point at a specified distance along the line.

See along.


Takes a google.maps.Polyline or google.maps.Polygon and returns a Feature of type Polygon or MultiPolygon surrounding the former at a specified distance

See buffer.


Takes a set of gooogle.maps.LatLng or google.maps.LatLngLiteral and returns a concave hull Feature of type Polygon or MultiPolygon

See concave.


Different helper methods to transform gooogle.maps.LatLng or google.maps.LatLngLiteral to GeoJSON positions or viceversa

See coords_to_latlng.


Takes a google.maps.Polygon and returns a FeatureCollection of Points representing the polygon self intersections

See kinks.


Takes an array of google.maps.Marker and a Polygon or MultiPolygon, returning an object containing with markers fall inside or outside it

See point_in_polygon.


Takes a google.maps.Polygon or google.maps.Polyline and returns a simplified version given a certain tolerance. Uses Douglas-Peucker algorithm

See simplify_things.


Takes two google.maps.Polyline and returns an array of coordinates [path of trimmed polyline1, path of trimmed polyline2, intersection point]

See trimpaths.


Takes two or more google.maps.Polygon and returns a Feature of type Polygon or MultiPolygon with their union

See union.


Takes a google.maps.Polygon with self intersections and returns a FeatureCollection of polygons without self intersections

See unkink.


Several utility functions to transform back and forth google.maps objects and Feature of their corresponding type

See utils.