Google 地图 iOS SDK 折线的详细级别

Google maps iOS SDK level of detail polylines

我正在使用 Google Maps iOS SDK 绘制折线列表。折线来自服务器,对于每条下一条折线,起点与前一条折线的终点相对应。

我注意到 Google 地图会在不同的缩放级别更改折线的详细程度,这可能是一种优化。这会导致在较低缩放级别的几条折线之间出现小间隙。

将折线拆分成几条小线的原因不在我的考虑范围之内,这是系统为我定义的。我知道我可以将几条多段线组合成一条大多段线,但我想知道:SDK 是否允许设置这种详细程度?或者是否有其他修复方法?

缩小,注意间隙:

几乎完全放大,间隙几乎消失:

到目前为止我还没有找到答案,所以我所做的是按顺序遍历所有地理坐标(幸运的是我的数据结构允许这样做),将它们收集在一个数组中,将该数组编码为 Google 根据 https://gist.github.com/mmdumi/3999640 编码折线 (GEP),然后使用 [GMSPolyLine polylineWithPath:] 在地图上显示它。据我所知,除了使用 GEP 之外,没有其他方法可以实例化 GMSPolyLine。

我也没有找到答案,但是,有两种方法:

  1. 你可以把整条线像for语句一样画出来,例如:

    path.add(CLLocationCoordinate2D(纬度:纬度_,经度:经度_)) 让折线= GMSPolyline(路径:路径) polyline.strokeColor = .red polyline.map = 地图视图 polyline.strokeWidth = 2

  1. https://github.com/raphaelmor/Polyline