在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)
}
答案 0 :(得分:2)
有意义的是,连续的点沿纬度和/或经度增加但默认的线连接。有关如何针对MGLPolyline解决此问题的Mapbox信息,请参见此处。
感兴趣的部分是:Mapbox MGLPolyline link
要使折线越过时线或国际日期线,请指定一些小于-180度或大于180度的经度。例如,一条从东京延伸到旧金山的折线的坐标为(35.68476,-220.24257)和(37.78428,-122.41310)。
因此,他们将其留给开发人员来实施自己的逻辑,以决定何时以及是否适合采用更长或更短的路线。