3个版本

0.1.3 2022年4月11日
0.1.2 2022年4月10日
0.1.1 2022年4月10日
0.1.0 2022年4月10日

#1311 in 算法

MIT/Apache

12KB
213

crates.io docs.rs Crates.io

Google Maps Polyline编码的Rust端口

描述

使用此包在Rust中编码和解码折线。

折线编码是一种有损压缩算法,允许您将一系列坐标存储为单个字符串。点坐标使用有符号值进行编码。

更多信息请参见https://developers.google.com/maps/documentation/utilities/polylinealgorithm

注意

我与谷歌或谷歌地图没有任何关联。此包是从https://github.com/googlemaps/js-polyline-codec移植过来的。

示例

    use polyline_codec::LatLng;
    let encoded = "_p~iF~ps|U_ulLnnqC_mqNvxq`@";
    assert_eq!(
        polyline_codec::decode(encoded, 5).unwrap(),
        vec![
            LatLng(38.5, -120.2,),
            LatLng(40.7, -120.95,),
            LatLng(43.252, -126.453,),
        ]
    );

    let path = &[(38.5, -120.2), (40.7, -120.95), (43.252, -126.453)];
    assert_eq!(
        polyline_codec::encode(path, 5).unwrap(),
        "_p~iF~ps|U_ulLnnqC_mqNvxq`@",
    );

许可证

MIT OR Apache v2.0

无运行时依赖