【发布时间】:2017-11-21 00:39:56
【问题描述】:
我正在尝试从我的geoJSON 文件中添加一个boundary,我正在使用GEOSwift pod。但是当我运行项目时,它总是打印 “无法加载 geoJSON 数据,找不到这样的文件。” 消息,这意味着出了点问题。
P.S geoJSON 文件可以在 here 找到。我正在使用 swift 3。
func addBoundry() {
print("1")
if let geoJSONURL = Bundle.main.url(forResource: "multipolygon", withExtension: "geojson") {
print("2")
do {
print("3")
let geometries = try Geometry.fromGeoJSON(geoJSONURL)
if let geo = geometries?[0] as? MultiPolygon {
print("4")
if let shapesCollection = geo.mapShape() as? MKShapesCollection {
print("5")
let shapes = shapesCollection.shapes
for shape in shapes {
print("6")
if let polygon = shape as? MKPolygon {
print("7")
mapView.add(polygon)
}
}
}
}
} catch {
print("Unable to load geojson data")
}
} else {
print("Unable to load geojson data, could not find such file.")
}
}
提前致谢!
【问题讨论】:
-
“multipolygon.geojson”文件是构建目标的一部分吗?
-
粘贴到项目中,仅此而已。 “构建目标的一部分”是什么意思?
-
选择文件并确保您正在构建的目标已在“目标成员资格”下的身份检查器(Xcode 的右列,顶部的小页面图标)中选中。它还应该列在目标的构建阶段(在导航器中选择您的项目,然后在主窗格中选择相关目标,然后在顶部的“构建阶段”),在“复制捆绑资源”下。
标签: ios swift mapkit geojson geo