問題タブ [mkmapsnapshotter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
727 参照

ios - MKMapSnapshotter衛星エラー画像カメラズーム/高度レベルが近い

MKMapsnapshotter を使用すると、エラー イメージが表示されます。手動でズームアウト(カメラの高度を高く設定)してみましたが、問題は解決したようですが、これをプログラムで処理する方法がわかりません。この種のエラーを検出して、カメラの高度をリセットする方法はありますか? これは MapKit のバグですか? これは、衛星またはハイブリッド マップ タイプを使用した場合に発生します。

http://imgur.com/vWsu3Nc

どんな助けでも大歓迎です。ありがとう!


編集:

さらに調査とテストを重ねた結果、回避策を見つけることができました。

このエラー画像は、主に海上/海上の衛星画像で発生していました。リバース ジオコーダーを使用して、目印の配列を調べて、その場所が都市にあるかどうかを確認できることがわかりました。そうでない場合は、おそらく海の上にあります。

0 投票する
4 に答える
868 参照

ios - iOS MKMapShapshotter 完了ブロックが常に呼び出されるとは限らない

新しい iOS7 MKMapSnapshotter を使用して静的なマップ イメージを生成しようとしています。アプリでマップが必要になるたびに、次のように呼び出します。

ほとんどの場合、これはうまく機能しています。ただし、マップのリクエストでデバイスが過負荷になり、レンダリングが停止する場合があります。私のログ ファイルには、「Snapshotter が割り当てられました」という最初のログ ステートメントが表示されますが、「Snapshotter 完了ブロック」メッセージは表示されません。

リクエストがディスパッチ キューの外で決して実行されない可能性はありますか? 誰もこの問題を抱えたことがありますか?

0 投票する
1 に答える
689 参照

ios - MKTileOverlayPath を MKMapRect に変換しますか?

私は方法を使用しています:

- (void)loadTileAtPath:(MKTileOverlayPath)path result:(void (^)(NSData *data, NSError *error))result

MKTileOverlayPath は、x、y、z を提供します。このパスを使用して、このエリアの Apple Maps バージョンのスナップショットを取得しようとしています。これにより、画像にフィルターを適用できます。

私は MKMapSnapshotter をそのまま使用していますが、この領域のアップルマップ表現を描画するためにどの値を指定すればよいかわかりません。

あるいは、この地域から地図画像を取得する別の方法が知られているかもしれません。

0 投票する
1 に答える
375 参照

ios - MKTileOverlay の MKMapSnapshotter がずれているように見える

次のコードでloadTileAtPath:result:メソッドをオーバーライドしています。MKTileOverlay単純にMKTileOverlayPathを MKMapRect に変換し、それを使用MKMapSnapshotterして、見ているマップ エリアのスナップショットを取得します。そこから、マップの画像を使用してさらに作業を行います。しかし今のところ、結果のデータとしてスナップショットを返すだけなので、スナップショットがマップをどれだけうまく表しているかを確認できます。

ここでの計算がすべて正しいとすると、理論上は完全なマップが表示されるはずです。代わりに、次のように表示されます。

ここに画像の説明を入力

そして、これはそれがどのように見えるかです (下の地図はどのように見えるか):

ここに画像の説明を入力

0 投票する
0 に答える
492 参照

ios - MKMapSnapshotter は、驚異的な量の CPU と RAM を使用します

MKMapSnapshotter は、シミュレーターで最大 2GB の RAM を使用しているようで、メモリ警告をトリガーし、デバイス上で非常に長い時間アプリをハングさせます。設定のどの部分がこれを引き起こしているのかわかりません。

この膨大な使用量は、複数の画像を同時に取得する場合に発生しますが、複数の画像を次々に取得する場合でも、率直に言って大量の RAM (ピーク時で 600MB) を使用し、CPU を最大 190% 使用して完全に占有するようです。要求された後に画像を保存することさえせずに、他のすべてのロジックを削除しようとしましたが、膨大な RAM と CPU の使用率が引き続き発生します。

これは意図したものではありません。この暴走的なリソースの浪費を引き起こすには、私が設定していない何かがあるに違いありません。ここに私のオプションコードがあります:

ここで何が欠けていますか?

0 投票する
1 に答える
97 参照

ios - MKMapSnapShot から以前の MKPinAnnotation 座標を返す

私は2つのView Controllerを持っていMapViewVCますMapDetailViewVC.

にいくつかのカスタム ピン注釈がありMapViewます。

タップすると、これらの注釈 (特定のデフォルトの「高度」ビューを持つ) が開始さMapDetailVCれ、カメラ プロパティが特定の高度 (4000 m) に設定された注釈のスナップショットが表示されます。

その結果、 で「戻る」ボタンを押すとMapDetailVC、ビューは に表示されたのMapViewVCと同じ高度の に戻りMapDetailVCます。吹き出しボタンがタップされたときに表示されていた領域である元の高度ではありません。

「戻る」ボタンをタップしたときに、元の設定に戻るMapKit方法があるかどうかを(より経験豊富な人から)知りたいです。mapView

ありがとう

0 投票する
1 に答える
482 参照

ios - MKSnapshotter のメモリをクリアする

私は現在 を使用してMKSnapshotterいますが、(MKMapView と同様に) メモリ消費量が多く、アプリの実行中は解放されないことに気付きました。私はメモリを解放しようとしましたが、役に立たない:

どんな助けでも大歓迎です。

アップデート には詳細が含まれます

0 投票する
0 に答える
173 参照

ios - MKMapSnapshotter で全世界をキャプチャする

MKMapSnapshotter Api for iOS を使用して全世界の画像を取得しようとしています。MKMapSnapshotterOptions の mapRect を MKMapRectWorld に設定するか、地域を Span(180,360) に設定するかは関係ありません。南アメリカの端からアジア、ヨーロッパの中央からアフリカの端までの画像が常に作成されます。

MKMapSnapshotterOptions のサイズも変更しようとしました。

全世界をキャプチャする方法はありますか?

ありがとう、レオ