Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 如何在地图上的多边形内准确地检查输入位置?_Xcode_Swift3_Location_Mkmapview_Floating Accuracy - Fatal编程技术网

Xcode 如何在地图上的多边形内准确地检查输入位置?

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

我已经成功地使用MkMapView在地图上绘制了多边形。现在我想精确地检查用户在这个多边形中的位置。假设纬度为50.840473,经度为-0.146755,精度为60,对于位于地图上绘制多边形外30米的位置

如何使用纬度、经度和精度计算此距离=30米。因为在不使用精度的情况下,我成功地检查了用户在多边形内部的位置。使用下面的代码

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位置。但如何使用精度参数检查输入位置和打印多边形之间的距离