2016-08-08 4 views
1

私はGMSPathの配列を持ち、座標を持っています。私は、この座標が落ちるパスを見つけたいと思っています。私はこの場所が落ちる総ポリゴンを見つけることができます。 (これを使うhttps://stackoverflow.com/a/38826411/2225439)このステップまではすべてうまくいっています。ネストされたポリゴンの配列から実際の領域を使用して最も内側のポリゴンを見つけよう

実際の問題は、GMSPathが1つ閉じたときにもう1つが閉じてGMSPathと重なっているときに発生します。私の要求に従って、私はこれらの2つのうち1つだけを取得し、別のものよりも小さい面積を持たなければなりません。

理解を深めるために画像を参照してください。

enter image description here

答えて

2

GoogleマップのiOS SDK、GMSGeometryArea()から以下の方法を使用してGMSPolygonの面積を見つけることができ、それは与えられた多角形の面積を提供します。今度はエリアがあるので、異なるポリゴンを比較して最奥エリアを見つけることができます。

double GMSGeometryArea(GMSPath *path); 
グーグル

によって提供された記述を1として

Returns the area of a geodesic polygon defined by |path| on Earth. 
The "inside" of the polygon is defined as not containing the South pole. 
If |path| is not closed, it is implicitly treated as a closed path nevertheless and the result is the same. 
All coordinates of the path must be valid. 
If any segment of the path is a pair of antipodal points, the result is undefined -- because two antipodal points do not form a unique great circle segment on the sphere. 
The polygon must be simple (not self-overlapping) and may be concave. 
+0

での面積は何台ありますか?私は 'double GMSGeometryArea(GMSPath * path);'の計算単位を記述しているものを見つけることができませんでした。 –

+0

結果は平方メートルです。 –

関連する問題