Google maps api 3 使用谷歌地图API检查点是否位于多边形内

Google maps api 3 使用谷歌地图API检查点是否位于多边形内,google-maps-api-3,polygon,Google Maps Api 3,Polygon,我正在使用Google Maps API v3开发一个应用程序,我正在努力了解如何确定X坐标是否位于多边形内。您可以使用Google Maps JS API的。有一个名为containsLocation的函数,它告诉您给定的板条是否在多边形中。请注意,它是一个多边形,而不是多段线。多段线(如名称中所述)是一条线。因此,不存在点位于多段线内的情况。您可以使用containsLocation函数检查点是否位于多边形内 google.maps.geometry.poly.containsLocatio

我正在使用Google Maps API v3开发一个应用程序,我正在努力了解如何确定X坐标是否位于多边形内。

您可以使用Google Maps JS API的。有一个名为
containsLocation
的函数,它告诉您给定的板条是否在多边形中。请注意,它是一个多边形,而不是多段线。多段线(如名称中所述)是一条线。因此,不存在点位于多段线内的情况。您可以使用
containsLocation
函数检查点是否位于多边形内

google.maps.geometry.poly.containsLocation(somePoint, somePolygon)

在iOS中,可以使用
GMSGeometryContainsLocation

只需创建一个
GMSMutablePath
,然后用多边形的顶点填充并测试该点

示例(Swift 4.0):


注意:如果
gmsGeometryContainesLocation
的最后一个参数设置为true,则
gmsTablePath
由大圆段组成,否则它是rhumb(loxodromic)段。

可能重复,但对于JavaScript,如何使用Objective C Google Maps SDk对iOS执行相同操作??
func isWithin(_ point: CLLocationCoordinate2D) -> Bool {
    let p = GMSMutablePath()
    p.add(CLLocationCoordinate2D(latitude:30.02356126, longitude: -90.07047824))
    p.add(CLLocationCoordinate2D(latitude:30.02501037, longitude: -90.0614231))
    p.add(CLLocationCoordinate2D(latitude:30.03321034, longitude: -90.0617981))
    p.add(CLLocationCoordinate2D(latitude:30.03192855, longitude: -90.07342815))
    return GMSGeometryContainsLocation(point, p, true)
}