如何在GEOSwift中通过LineString.buffer()获取点列表或多边形对象?

时间:2019-05-15 02:18:29

标签: ios mapkit jts geoswift

在MKMapView中,我想检测多边形的抽线侧(线)中的点击动作。 MKMapView实例可能只有一个多边形。所以我的想法是通过GEOSwift Framework中的LineString Instance的缓冲区方法将多边形的每边计算为一个小多边形。这意味着每两个点都转换为一个Rentangle Ploygon。当用户触摸(Tap)时,检查触摸点是否一个小polyon 被包含。通过这种方式,它可以由用户计算出大多边形接触的哪一侧。 但是,我可以得到LineString.buffer()的Points,所以我不能做一点多边形。 还有其他方法可以解决我的问题 这~~

我找不到提供缓冲方法的方法

let firstMapPoint = MKMapPoint(x: bound.lng.value!, y: bound.lat.value!)
let nextMapPoint = MKMapPoint(x: nextBound.lng.value!, y: nextBound.lat.value!)
let firstCoordinate = Coordinate(x: firstMapPoint.x, y: firstMapPoint.y)
let nextCoordinate = Coordinate(x: nextMapPoint.x, y: nextMapPoint.y)
let lineString = LineString(points: [firstCoordinate, nextCoordinate])
guard let bufferPolygon = lineString?.buffer(width: 5) else {
}

0 个答案:

没有答案