1

MKPolygonに表示するを作成したいと思いますMKMapView。私の問題は、それを行う方法を理解できないことです。

MKPolygonを作成するには、たくさんの構造体を作成し、MKMapPointそれらを配列に入れて、クラスメソッドを呼び出す必要があることを知っていますpolygonWithPoints

私の問題は、プロパティを持つオブジェクトを NSArray含むことです。CLLocationcoordinate.latitudecoordinate.longitude

1つずつMKMapPoint構造体に変換するにはどうすればよいですか?

4

1 に答える 1

3

NSArray座標を含む オブジェクトがある場合は、のpolygonWithCoordinates:count:代わりに メソッドを使用する方が簡単ですpolygonWithPoints:count:

このpolygonWithCoordinates:count:メソッドは、構造体の C 配列を受け入れますCLLocationCoordinate2D。オブジェクトのcoordinateプロパティも.CLLocationCLLocationCoordinate2D

を引き続き使用するpolygonWithPoints:count:場合は、関数を使用してのプロパティMKMapPointForCoordinateを に変換できます。coordinateCLLocationMKMapPoint

どちらの方法でも、最初に適切な構造体の C 配列を作成し、ループしNSArrayて C 配列の各項目を設定します。polygonWithCoordinates次に、またはを呼び出しますpolygonWithPoints

この回答には、を使用したコード例がありますpolygonWithCoordinates。その例では、forループ内の 2 行を次のように変更します。

CLLocation *coordObj = (CLLocation *)[coordinateData objectAtIndex:i];
coords[i] = coordObj.coordinate;

デリゲート メソッドを実装することを忘れないでくださいviewForOverlay(そして、マップ ビューのdelegateプロパティが設定されていることを確認してください)。

于 2012-02-16T12:55:41.597 に答える