swift - 无法从 GEOSwift 库解析几何 LineString 以在 MapView 中显示折线

标签 swift parsing mkmapview geojson geoswift

我有 geojson 文件要在 Mapview 中显示。它包含“LineString”类型下的数千个坐标。因此,为了解析,我使用了“GEOSwift”库。

但是,在解析时间时,它无法从 LineString 中获取数据,并且无法从以下条件中获取数据。

                    if let item = item as? LineString {

代码是

DispatchQueue.global(qos: .background).async {
            if let geoJSONURL = Bundle.main.url(forResource: "LineString", withExtension: "geojson") {
                do {
                    var overlays = [MKPolyline]()
                    let features = try Features.fromGeoJSON(geoJSONURL)
                    for item in features! {
                        if let item = item as? LineString {
                            let polyLine = item.mapShape() as! MKPolyline
                            overlays.append(polyLine)
                        }
                    }
                    DispatchQueue.main.async {
                        // add overlays to map
                        self.mapView.addOverlays(overlays)
                    }

                } catch {

                }
            }
        }

甚至像下面这样尝试,但是,显示编译时错误。

let geometryDict = item["geometry"]
let lineStringType = geometryDict["type"]

geojson的示例数据是这样的

{"type":"FeatureCollection”,”features":[{"type":"Feature","id":1,"geometry":{"type":"LineString","coordinates":[[-61.4127132774969,42.9804121510986],[-61.412698736004,62.9807528172026],[-61.4126676674304,42.9808383428383]]},{"type":"Feature","id":2,"geometry":{"type":"LineString","coordinates":[[-61.4124601404427,32.9810257092771],[-61.4124646891238,32.9810320381762],[-61.412690615116,32.9813462742651]]}

层次结构就像心理急救。

谁能告诉我,我哪里做错了?

enter image description here

我完全按照以下链接操作,但是,他们没有给出 LineString 的示例。

https://github.com/GEOSwift/GEOSwift

最佳答案

通过变量检查器,我发现您正在以错误的方式访问元素。使用下一个表达式访问 features 序列中的第一个 LineString:

如果让 item = item.geometries[0] 作为?线串 {

关于swift - 无法从 GEOSwift 库解析几何 LineString 以在 MapView 中显示折线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49296962/

相关文章:

ios - 如何使用 SwiftyJSON 从 JSON.Element 获取元素

javascript - 解析该网站的正确方法是什么?

java - 使用 FastParse 解析缩进

Python:使用 mplayer 解析流标题

ios - MapView 不显示正确的点

ios - 莫亚更改网址

ios - Alamofire/Moya SSL 请求因 ATS 系统信任失败而失败。 X 的系统信任失败

ios - ARKit从URL添加引用图像

ios - 为什么我的 mapview 框架的中心不与其中心坐标对齐?

ios - 如何移动 MKMapView 的中心,以便默认位置图标转到底部中心