GooglePolyline 是一个 Swift 包,它提供了按照 Google 编码折线算法对折线进行编码和解码的功能。它提供了使用指定的简化因子来简化折线的能力,该因子可以是直接值,也可以根据所需的最大长度自动计算。
CLLocation
实例数组编码成表示 Google 编码折线的字符串。CLLocation
实例数组。MKPolyline
。在您的 Package.swift
文件中,将以下行添加到您的依赖项中:
.package(url: "https://github.com/podiumkit/GooglePolyline.git", from: "1.0.0"),
然后,将 "GooglePolyline"
作为您目标的依赖项包含进来
.target(name: "YourTarget", dependencies: ["GooglePolyline"]),
在您的 Swift 文件中导入该包
import GooglePolyline
创建 GooglePolyline
的一个实例
let googlePolyline = GooglePolyline()
然后,您可以按如下方式编码和解码折线
let locations: [CLLocation] = ...
let encodedPolyline = googlePolyline.encode(locations: locations)
let decodedLocations = googlePolyline.decode(polyline: encodedPolyline)
let decodedMKPolyline = googlePolyline.decodeToMKPolyline(polyline: encodedPolyline)
GooglePolyline
类提供了主要功能。您可以通过在初始化该类时指定 SimplificationFactor
来控制折线的简化。它可以设置为 .automatic(maxLength: Int)
以根据最大长度自动计算简化因子,或者设置为 .value(Double)
以直接设置该因子。
encode(locations:)
函数接受一个 CLLocation
实例数组,并返回一个表示 Google 编码折线的字符串。 decode(polyline:)
函数则相反,它从编码的折线字符串返回一个 CLLocation
实例数组。 decodeToMKPolyline(polyline:)
也解码折线,但返回一个 MKPolyline
实例。
Google 是 Google LLC 的商标。除了基于 Google 的折线编码算法之外,本软件既未获得 Google LLC 的认可,也未与 Google LLC 有其他关系。