ios - 如何将所有坐标放入 map 的边界? fitBounds 等效?

标签 ios swift mapbox

我正在使用 Mapbox API 制作一个正在运行的应用程序,我正在努力研究如何设置 MGLMapView 的边界以适应用户通过运行创建的所有多段线。 Mapbox 在此处有一个 JavaScript 版本:https://www.mapbox.com/mapbox-gl-js/example/zoomto-linestring/

但我不知道如何使用 swift 实现它。我找不到等效的 fitBounds。

我将每个 CLLocationCoordinate2D 存储到一个名为 pointsArray 的数组中,并将其与 mapView 一起传递给结果 View Controller 。

我有找到数组中两点之间最长距离的方法,并将其设置为边界,但由于算法是 O(n^2),如果我有太多点,计算时间太长。还有其他情况不适合所有要点。

如果您想查看任何特定代码,请告诉我。不确定要显示什么,因为我没有适合边界的内容。

最佳答案

……或者你也可以这样做

    mapView?.setVisibleCoordinates(

        coordinates,
        count: UInt(coordinates.count),
        edgePadding: UIEdgeInsetsMake(20, 20, 20, 20),
        animated: true
    )

关于ios - 如何将所有坐标放入 map 的边界? fitBounds 等效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47003567/

相关文章:

node.js - 使用 Node sdk js 将 Mapbox 静态 api 响应保存到 png 文件

ios - (react-native) 如何检测 react native 中的电池电量?

ios - Dropbox 使用 delta IOS 检测文件更改

ios - 国际象棋游戏的 Sprite Kit 游戏设计

ios - 如何检测与当前设备的 MCSession 的非编程断开连接?

swift - 为什么具有两个 `as Date` 对象的 `timeIntervalSince()` 需要 `NSDate`?

ios - 调用 TableView 中的最后一个单元格

javascript - 如何在不更改插入的 geoJson 的情况下更改 mapbox 中的 map 样式

ios - alamofire multipartformdata 使用 urlrequest

openstreetmap - OSM 数据转 mapBox 格式