穿越(180或-180)经度时,MapBox iOS MGLPolyline存在问题

时间:2018-10-01 05:03:34

标签: ios swift mapbox

在MapBox iOS sdk 4.4.1中,如果MGLPolyline越过(180或-180)经度,则地图显示其在全球范围内沿走的距离更长,而不是越短。

    override func viewDidAppear(_ animated: Bool) {
    let points = [
        CLLocationCoordinate2D(latitude: 50.0, longitude: -170.0),
        CLLocationCoordinate2D(latitude: 50.0, longitude: 170),
                ]
    let line = MGLPolyline(coordinates: points, count: UInt(points.count))
    line.title = "line"
    mapView.addAnnotation(line)
}

enter image description here

1 个答案:

答案 0 :(得分:2)

有意义的是,连续的点沿纬度和/或经度增加但默认的线连接。有关如何针对MGLPolyline解决此问题的Mapbox信息,请参见此处。

感兴趣的部分是:Mapbox MGLPolyline link

  

要使折线越过时线或国际日期线,请指定一些小于-180度或大于180度的经度。例如,一条从东京延伸到旧金山的折线的坐标为(35.68476,-220.24257)和(37.78428,-122.41310)。

因此,他们将其留给开发人员来实施自己的逻辑,以决定何时以及是否适合采用更长或更短的路线。

相关问题