Encoding and decoding of Google's polyline encoding format
npm install polyline-encodedThis Leaflet plugin extends Leaflet with functions to encode to and decode from Google maps polyline encoding.
- Works with Leaflet v0.7.7 and v1.0.0-rc.1
- Algorithm described in the Google maps API Documentation.
- L.PolylineUtil.encode(latlngs [, precision])
Encode an array of L.LatLng objects, or an array of arrays.
- L.PolylineUtil.decode(encoded [, precision])
Decode the string encoded to an array of [lat, lng]-arrays.
- L.Polyline.fromEncoded(encoded [, options])
Construct a new L.Polyline from a string, with optional options object. Backslashes in strings should be properly escaped.
- L.Polyline.encodePath()
Return an encoded string for the current Polyline.
- L.Polygon.fromEncoded(encoded [, options])
Construct a new L.Polygon from a string, with optional options object. Backslashes in strings should be properly escaped.
- L.Polygon.encodePath()
Return an encoded string for the current Polygon.
leaflet.js`, `src/Polyline.encoded.js` should be included.$3
`javascript
var latlngs = [
[38.5, -120.5],
[40.7, -120.95],
[43.252, -126.453]
];
var polyline = L.polyline(latlngs);// prints "_p~iF~cn~U_ulLn{vA_mqNvxq
@" to the console#### Decoding
`javascript
var encoded = "_p~iF~cn~U_ulLn{vA_mqNvxq@";// prints an array of 3 LatLng objects.
console.log(polyline.getLatLngs());
``
Use a decoding precision of 5 to decode OSRM Routing Engine geometries
`javascript{nI";
var encoded = "_izlhA~pvydF_{geC~{mZ_kwzCn
var polyline = L.polyline(L.PolylineUtil.decode(encoded, 5));
// prints an array of 3 LatLng objects.
console.log(polyline.getLatLngs());
``
and decode() in your Nodejs scripts:npm install polyline-encoded`javascript
var polyUtil = require('polyline-encoded');var encoded = "_p~iF~cn~U_ulLn{vA_mqNvxq
@";