Map Annotation が MKCircle 内にあるかどうかを検出しようとしています。私は、Swift 2.0 の確かなチュートリアルを見つけることができず、たゆまぬ努力でインターネットを探索しました。すべてのチュートリアルまたはスタック オーバーフローの質問は、非推奨のコードまたは Objective-C で回答されています。残念ながら、私は Swift にかなり慣れていないので、回答を翻訳するのは少し難しいです。
私がこれまでに持っているもの:
これまでのところ、次のような MKCircle で円を宣言しました。
let location = CLLocationCoordinate2D(latitude: 36.9900,
longitude: -122.0605)
let circle = MKCircle(centerCoordinate: location, radius: 100)
最終的には、CGPathContainsPoint を使用して、注釈がこの円の内側にあるかどうかを検出したいと考えています。CGPathContainsPoint の定義は次のようになります。
CGPathContainsPoint(_ path: CGPath?, _ m: UnsafePointer<CGAffineTransform>, _ point: CGPoint, _ eoFill: Bool) -> Bool
ここで、
path - ポイントをチェックするパス
m - アフィン変換 (これの目的は不明ですが、ほとんどの質問でこのパラメーターは nil に設定されています)
point - 問題のポイント
eoFill - 偶奇の Fill を使用 (trueまたは false、これも定かではありませんが、ほとんどの質問は false に設定されています)
私の質問: MKCircle を CGPathContainsPoint に渡し、CLLocationCoordinate2D を CGPoint に変換するために CGPath として動作するように変換または変換するにはどうすればよいですか?