1

Xcode 4 Beta を使用して、正常に動作するマップ上にユーザーの場所を表示しています。次に、マップのスクリーン ショットを撮り、電子メールの添付ファイルとして表示します (以下のコードは、マップのスクリーン ショットを電子メールに添付しますが、送信される画像はグレーのグリッド線のみです)。

助けていただけますか、これはGoogleに課せられた制限ですか?またはこれを行う別の方法はありますか?

psマップのスクリーンショットを手動で撮ってみましたが、iPhone 4で機能しました。

-(IBAction)buttonPress:(id)送信者 {

UIGraphicsBeginImageContext(mapView.frame.size);
[mapView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

NSData * imageData = UIImageJPEGRepresentation(image,2.0);


if 
   ( [MFMailComposeViewController canSendMail] ) {
   MFMailComposeViewController * mailComposer = [[MFMailComposeViewController alloc] init];
    mailComposer.delegate = self;
   [mailComposer addAttachmentData:imageData mimeType:@"image/png" fileName:@"attachment.jpng"];

    /* Configure other settings */
        [mailComposer setSubject:@"subject here"];
       [mailComposer setToRecipients:[NSArray arrayWithObjects:@"123@abc.com", nil]];


    [self presentModalViewController:mailComposer animated:YES];
           }

}


私はコードをいじって、最終的には動作するようになりましたが、私が直面している別の問題は、電子メールの送信が拒否され、電子メールの未送信メッセージ ボックスに入れられることです。hotmail アカウントで、「コピーが送信トレイに配置されました。サーバーへのメッセージ コンテンツの送信に失敗しました」というエラー メッセージが表示されます。

助けていただけますか

これは、Google マップの著作権の問題、またはコードのエラーが原因である可能性があります

4

1 に答える 1

1

私の知る限り、スクリーンショットは PNG であるため、NUIImagePNGRepresentation()代わりに使用する必要があります。UIImageJPEGRepresentation(image,2.0);

それ以外は、コードの何が問題なのかわかりません。

于 2012-04-29T20:35:17.397 に答える