座標を受け取り、逆ジオコーディングした後に目印を返すオブジェクトを作成しました。問題は、このメソッドが共時態であるため、見つかったら目印を返す方法が必要なことです。私のビューコントローラでは、これを次のように呼んでいます。
[getzip reverseGeocodeCurrentLocation:coordinate];
ここで、getzipは、これを実装するオブジェクトのインスタンスです(私の場合はまだ空です...):
- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark
さて、reverseGeocoder:didFindPlacemarkに入ったら、どのようにして目印をビューコントローラに戻すことができますか?
LocationManagerで行われているいくつかの例で見たのと同じことをしようとしました。locationManager:didUpdateToLocation:fromLocationからlocationUpdateメソッドが呼び出され、viewcontrollerにlocationUpdateが実装されていますが、機能しませんでした。言い換えれば、私はそれをしました:
- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark
{
[self.delegate setPlacemark:placemark];
}
ビューコントローラにsetPlacemarkを実装しましたが、何らかの理由でsetPlacemarkに到達しません(ところで、reverseGeocoder内でsetPlacemark:placemarkを呼び出すと、プレースマークは正しいです)。
ありがとう!