0

計算に少し問題があります。

私が欲しいのは、アプリのユーザーが地図の可視領域のどこかに移動地図注釈を配置することです。また、注釈の場所が変更されている間 (GPS 単位)、マップは移動する必要がありますが、ピンは常に画面内のそのポイントにとどまります。

このstackoverflowの回答の結果を使用しようとしています

からの結果

-(CLLocationDistance) calcluateDistance:(CLLocationCoordinate2D)annotationLocation{

CLLocation *annotationPosition = [[[CLLocation alloc]initWithLatitude:annotationLocation.latitude longitude:annotationLocation.longitude]autorelease];
CLLocation *centrePosition = [[CLLocation alloc]initWithLatitude:self.mapView.centerCoordinate.latitude longitude:self.mapView.centerCoordinate.longitude];
CLLocationDistance distance = [centrePosition distanceFromLocation:trackerPosition];
return distance;

}

結果をこのstackoverflow anserにスローします

何かが実際に機能していません。私の説明が非常に明確ではないことはわかっているので、不明な点があれば質問してください:)

ありがとう

4

1 に答える 1

0

あなたが使用しているアプローチの問題の 1 つは、距離が方向を教えてくれないことです。つまり、40 メートル離れていますが、40 メートルは西ですか?

あなたに役立つ可能性のある関数の1つは、[mapView convertPoint:annotationPoint toCoordinateFromView:mapView] です。

注釈を配置する必要があるマップ ビューに対する相対的なポイントを把握する場合は、この値を保存し、[mapView convertPoint:annotationPoint toCoordinateFromView:mapView] を使用してマップ ビューの座標を把握します。

それが役に立てば幸い。

于 2014-10-03T13:56:12.687 に答える