Xcode 如何在地图上的多边形内准确地检查输入位置?
我已经成功地使用MkMapView在地图上绘制了多边形。现在我想精确地检查用户在这个多边形中的位置。假设纬度为50.840473,经度为-0.146755,精度为60,对于位于地图上绘制多边形外30米的位置 如何使用纬度、经度和精度计算此距离=30米。因为在不使用精度的情况下,我成功地检查了用户在多边形内部的位置。使用下面的代码Xcode 如何在地图上的多边形内准确地检查输入位置?,xcode,swift3,location,mkmapview,floating-accuracy,Xcode,Swift3,Location,Mkmapview,Floating Accuracy,我已经成功地使用MkMapView在地图上绘制了多边形。现在我想精确地检查用户在这个多边形中的位置。假设纬度为50.840473,经度为-0.146755,精度为60,对于位于地图上绘制多边形外30米的位置 如何使用纬度、经度和精度计算此距离=30米。因为在不使用精度的情况下,我成功地检查了用户在多边形内部的位置。使用下面的代码 func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRe
func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer
{
if overlay is MKPolygon {
let polygonRenderer = MKPolygonRenderer(overlay: overlay)
polygonRenderer.fillColor = UIColor.orange.withAlphaComponent(0.5)
polygonRenderer.strokeColor = UIColor.orange.withAlphaComponent(0.7)
polygonRenderer.lineWidth = 3
let currentMapPoint: MKMapPoint = MKMapPointForCoordinate(CLLocationCoordinate2DMake(50.840473, -0.146755))
let polygonViewPoint: CGPoint = polygonRenderer.point(for: currentMapPoint)
if polygonRenderer.path.contains(polygonViewPoint)
{
print("Your location was inside your polygon.")
}
return polygonRenderer
}
return MKOverlayPathRenderer()
}
使用这段代码,我已经被检查成功地输入了多边形内的lat long位置。但如何使用精度参数检查输入位置和打印多边形之间的距离