@pirxpilot/google-polyline
v4.0.1
Published
Encode / decode Google's polyline format
Downloads
361
Maintainers
Readme
google-polyline
Encodes and decodes Google's polyline format It's a forked version of google-polyline module with minor performance improvements and reversed order of coordinates: longitude, latitude (think x, y or easting, northing), which corresponds to position definition in GeoJSON spec.
Install
$ npm install --save @pirxpilot/google-polyline
# or
$ yarn add @pirxpilot/google-polylineUsage
const { encode, decode } = require('@pirxpilot/google-polyline')
encode([
[ -120.2, 38.5 ],
[ -120.95, 40.7 ],
[ -126.453, 43.252 ]
])
> '_p~iF~ps|U_ulLnnqC_mqNvxq`@'
decode( '_p~iF~ps|U_ulLnnqC_mqNvxq`@' )
> [
[ -120.2, 38.5 ],
[ -120.95, 40.7 ],
[ -126.453, 43.252 ]
]API
polyline.encode(points[, options])
returns a string representing encoded polyline
pointsis an array of points, each point is a 2 element array [longitude, latitude]options.factor- optional (defaults to1e5), factor by which coordinates are multiplied during encodingoptions.mapFn- can be optionally passed to convert array of elements to [lon. lat] pairs mapFunction is called for each item inpointsarray and has the same signature asArray.mapcallbackoptions.prefix- optional prefix for encoded String
polyline.decode(string[, options ])
returns an array of points representing decoded polyline
stringis an encoded polyline representationoptions.factor- optional (defaults to1e5), factor by which coordinates are divided after decoding; use factor1e6when decoding polylines from OSM data (OSRM, mapzen etc.)options.mapFn- optional - if provided it'll be called for each [lon. lat] pair to convert thepointbefore it is added to resultingpointsarraystart,end- (defaults to0,points.length) - allows to decode a substring
