ご挨拶!私はAppleのコードサンプルなしでMKMapViewを使おうとしていますが、他にもさまざまな明快さのサンプルがいくつかあります。(「フレンドリーなマニュアルを読んでください」と知っています。私はそれを行いましたが、100%明確ではないので、これについてはご容赦ください。)
これが状況です。MKMapViewオブジェクトがあり、約10個のMKPinAnnotationオブジェクトのセットを追加しました。ここまでは順調ですね。すべてが正常に割り当て/リリースされており、Instrumentsからの苦情はないようです。
最初の表示時に、最初のピン位置に中心点があり、(任意の)スパンが0.2x0.2のMKCoordinateRegionオブジェクトを設定しました。それから私は電話します:
[mapView setRegion:region animated:YES];
[mapView regionThatFits:region];
わお!それはうまくいきました。
一方...私はまた、各ピンの位置への移動を可能にするセグメント化されたコントロールを持っています。したがって、リストをタップすると、マップはsetRegion:animated:とregionThatFits: ...を呼び出す新しいペアを使用して、新しいピンの位置にアニメーション化されます。少なくともそれがアイデアです。
マップは新しいピンの位置に「移動」しますが、マップ自体はその下で更新されません。代わりに、灰色/白地図の背景にピンが表示されます...マップを任意の方向に少しだけ動かすまで。その後、地図が透けて見えます!(前のピン位置から短い距離内を移動しているだけの場合、通常、マップのどの部分がすでにロードされているかがわかります。)
私はここで何か馬鹿げたことをしているのではないかと思いますが、少なくともMapKitのドキュメントからは何を理解できていません。おそらく私は間違った呼び出しを使用していますか?(ええと、少なくとも1回はリージョンを設定する必要があります、そうですか?それを移動しても効果がないようです。)setCenterCoordinate:animated: -同じ問題を使用してみました。
この時点では何も想定していません(しゃれは意図していません)。ただ私の道を見つけようとしています。
手がかりを歓迎/感謝します!
更新:setRegion:animated:とregionThatFits:を初めて呼び出し、続いてsetCenterCoordinate:animated:を呼び出しても、リストをトラバースしても効果はありません。ただし、興味深い発見:どちらの場合もアニメーションをNOに変更すると、マップが更新されます!!! YESに設定されている場合のみ。(何が起こるのですか?!アニメーション化されています:壊れていますか?それはできません... ???)