60 lines
1.4 KiB
Markdown
60 lines
1.4 KiB
Markdown
# google-polyline
|
|
[](https://npmjs.com/package/google-polyline)
|
|
[](https://npmjs.com/package/google-polyline)
|
|
[](https://npmjs.com/package/google-polyline)
|
|
[](https://travis-ci.org/jhermsmeier/node-google-polyline)
|
|
|
|
Encodes and decodes [Google's polyline format](https://developers.google.com/maps/documentation/utilities/polylinealgorithm)
|
|
|
|
## Install via [npm](https://npmjs.com)
|
|
|
|
```sh
|
|
$ npm install --save google-polyline
|
|
```
|
|
|
|
## Usage
|
|
|
|
```js
|
|
var polyline = require( 'google-polyline' )
|
|
```
|
|
|
|
```js
|
|
polyline.encode([
|
|
[ 38.5, -120.2 ],
|
|
[ 40.7, -120.95 ],
|
|
[ 43.252, -126.453 ]
|
|
])
|
|
|
|
> '_p~iF~ps|U_ulLnnqC_mqNvxq`@'
|
|
```
|
|
|
|
```js
|
|
polyline.decode( '_p~iF~ps|U_ulLnnqC_mqNvxq`@' )
|
|
|
|
> [
|
|
[ 38.5, -120.2 ],
|
|
[ 40.7, -120.95 ],
|
|
[ 43.252, -126.453 ]
|
|
]
|
|
```
|
|
|
|
## Benchmarks
|
|
|
|
```sh
|
|
$ npm run benchmark
|
|
```
|
|
|
|
```
|
|
# decode: 3 points ⨉ 1000
|
|
ok ~9.03 ms (0 s + 9026482 ns)
|
|
|
|
# decode: ~350 points ⨉ 1000
|
|
ok ~34 ms (0 s + 33985497 ns)
|
|
|
|
# encode: 3 points ⨉ 1000
|
|
ok ~16 ms (0 s + 15696046 ns)
|
|
|
|
# encode: ~350 points ⨉ 1000
|
|
ok ~80 ms (0 s + 80340403 ns)
|
|
```
|