これが私の状況です。何らかの理由で、コア データに保存されている注釈の座標が、マップ上のピンの位置から取得できる座標と一致していないようです。
したがって、次のような方法でデータをコア データに保存します。
[ride setLatitude:[NSNumber numberWithDouble:newRidePlacemark.coordinate.latitude]];
[ride setLongitude:[NSNumber numberWithDouble:newRidePlacemark.coordinate.longitude]];
経度と緯度を保存するのに適切な形式であると確信しています。ただし、コア データにある座標とドロップされたピンの座標を比較すると、問題が発生します。メソッドとログを使用して、ピンの位置を確認します。
- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)view calloutAccessoryControlTapped:(UIControl *)control
NSLog(@"%f, %f", view.annotation.coordinate.latitude, view.annotation.coordinate.longitude);
これは私に次のようなものを与えます:
38.119432、-122.225647
しかし、同時に、そのピンのコア データに何が保存されているかを確認しています。
38.11943249695161、-122.2256469726562
その違いはどこから来たのですか?なぜ短くされたのですか?注釈を削除しようとすると、座標が一致せず、注釈が削除されないため、これは実際の問題です。
ここで何かを見逃しましたか?