0
私は自分のAPPに位置共有を実装していますので、緯度と経度に応じて複数のスナップショットを生成する必要があります。単に直接使用する:緯度と経度を指定してスナップショットを生成する最良の方法は、MKMapViewをスキップすることです。
- (UIImage*) renderToImage:(MKMapView*) view
{
UIGraphicsBeginImageContextWithOptions(view.frame.size, NO, 0.0);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
私は未完成のスナップショットにつながります。
は、私は次のコードを使用してみました:私も、私はそれが完全にロードされ知っているスナップショットを設定し、右のセルに戻って取得するために- (void)mapViewDidFinishRenderingMap:(MKMapView *)mapView fullyRendered:(BOOL)fullyRendered
{
// Image creation code here
}
しかし、それは難しいです。
こういう複雑な手順をせずに緯度と経度から直接スナップショットを生成するAPIはありますか?事前に皆さんありがとう!
MKMapSnapshotterについて知っておくと良いですが、まだ少し混乱しています。他の関数の[snapshotter startWithCompletionHandler:^()]ブロックrenderSnapshotForLocation:(CLLocationCoordinate2D)location、適切なタイミングでUITableview内の特定のセルの画像を設定する方法はありますか? –
それは依存している - 「正しい時」はいつですか?スナップショットはかなり高速ですが、必要なときに遅延読み込み画像を使用し、遅延が目立たないようにしています。シグネチャを 'renderSnapshotForlocation:(CLLocationCoordinate2D)inCell:(UITableViewCell *)cell'に変更し、コールバックの' cell'の画像を設定することができます。あなたは完全に同期しているものがほしいと思うようですが、地図画像がレンダリングされるまでUIをブロックしたいとは思っていません。できるだけ早くスナップショットを開始し、完了したら必要な場所にイメージを配置します。 – dylansturg
ありがとう、renderSnapshotForlocation:(CLLocationCoordinate2D)location inCell:(UITableViewCell *)cellは私が必要なものです。 –