MapBox iOS MGLPolyline 跨越(180 或 -180)经度时出现问题

2024-01-02

在 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)
}

连续的点沿着纬度和/或经度增加的线连接是有道理的,但默认情况下。 Mapbox 有关如何克服 MGLPolyline 问题的信息可在此处找到。

感兴趣的部分是:Mapbox MGL折线链接 https://www.mapbox.com/ios-sdk/api/4.4.1/Classes/MGLPolyline.html

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MapBox iOS MGLPolyline 跨越(180 或 -180)经度时出现问题 的相关文章

随机推荐