2017-02-08 10 views
1

Эта функция предназначена для проверки того, является ли широта или долгота внутри или вне полигона.Как проверить, находится ли местоположение в пределах «точности» многоугольника. если точность функции равна 30m

func isAvalibleinsidePolygone{ 
      let latitude = lat?.text 
      let longitude = lon?.text 
      if latitude != "" && longitude != "" { 
       //   pathOfPolygon.removeAllCoordinates() 
       for p in places { 
        pathOfPolygon.add(p.coordinate) 
       } 
    ifGMSGeometryContainsLocation(CLLocationCoordinate2DMake(Double(latitude!)!, Double(longitude!)!), pathOfPolygon, true) { 
        alert(title:`enter code here` "YEAH!!!", msg: "You are inside the polygon") 

       } else { 
       alert(title: "OPPS!!!", msg: "You are outside the polygon") 
       } 
      } 
     } 

Но даже я хотел бы проверить, находится ли местоположение в пределах «точности» многоугольника - например, если точность функции равна 30 м, любое место, находящееся в пределах 30 м от многоугольника, должно возвращать true. Поэтому параметры будут как широта, долгота, точность :

например
func withinAccuracy(latitude:Double,longitude:Double,accuracy:Double){ 
//.... 
} 
+0

Это работало для меня. Спасибо –

+0

Я рад это слышать. Отправленный комментарий как ответ, чтобы вы могли их принять. –

ответ

0

Посмотрите на функцию GMSGeometryIsLocationOnPathTolerance(_ point: CLLocationCoordinate2D, _ path: GMSPath, _ geodesic: Bool, _ tolerance: CLLocationDistance) -> Bool это именно то, что вы хотите. link

 Смежные вопросы

  • Нет связанных вопросов^_^