問題タブ [mktileoverlay]
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.
ios - オフライン マッピング タイルの作成
iOS アプリケーションの 1 つで、ナビゲーションを使用してオフラインの屋内マップを表示したいと考えています。Googleで検索したところ、routeme、mapboxなどのソリューションが見つかりました。しかし、サンプルプロジェクトを使用して実行したため、外部ライブラリなしでこれを行う必要がありmktileoverlay
、そのサンプルマップで正常に動作しています。私の問題は、適切な構造で屋内マップのタイルを作成する方法と、そのマップでナビゲーションを行う方法です。前もって感謝します。
ios - iOS: マップ上に MKTileOveraly を描画すると、CPU 使用率が高くなり、Memory.i はこの理由を見つけることができません。
MKTileOverlay をマップに追加しようとしています。サーバーから取得してタイルの読み込みを開始すると、CPU 使用率が突然増加します。ズームイン、ズームアウト、マップのスクロールなどのアクションを実行すると、CPU使用率が最大200%増加します。理由は何ですか。
ios - MKTileOverlay が定義されていません
すべての iPhone シミュレーター (xcode 6.1、IOS 7.1 & 8.1) でうまく動作する openStreetMap を使用した単純なマップ アプリケーションがあります。ただし、実際のデバイス (iPhone 4 iOS 7.1) でコンパイルすると、いくつかの問題が発生します (スクリーンショットを参照)。アプリケーションは、MKTileOverlay、MKOverlayRender などの一部のクラスを認識しません。
最も奇妙なことは、数週間前は機能していたが、別のプロジェクトに取り組んだ後、このプロジェクトに戻ったときに問題が発生したことです.
おそらく、問題は Xcode またはデバイスの構成から来ているのでしょうか? 数日間検索しましたが、うまくいきませんでした。
ios - カスタム マップに必要な MKMapView "Legal" ラベル?
MKMapViewを表示するためにMKTileOverlaysを使用しています。オーバーレイは自分で描いたもので、Apple や Google からの地図データは表示されません。マップの上に「法務」ラベルが必要ですか? MKMapViewを使用して、カスタム タイルを表示し、それにいくつかのカスタム アノテーションを付けます。ここで法的なパッチが本当に必要ですか? ドロップした場合、アプリは拒否されますか?
ios - 迅速にマップに MKTileOverlay を追加します
実行中、画像はマップ全体で繰り返されます。URLTemplate の代わりに UIImage を指定することもできますか?
特定の場所にオーバーレイ画像を追加しました。正確には現在位置。
ありがとうございました
これは私のコードです:
mkmapview - MKTileOverlay - 「要求された URL はこのサーバーで見つかりませんでした。」
MKTileOverlay を使用して、Apple マップの上に古いマップを重ねています。
オーバーレイはタイル張りで、約 10 平方マイルの領域をカバーしています。
オーバーレイが正しくレンダリングされるという点で、すべてが正常に機能しているようです。
ただし、レンダラーは、オーバーレイ マップ エリア外にあるためにタイル イメージ ファイルが存在しない場合でも、ビュー内の領域全体のオーバーレイ タイルを読み込もうとしているようです。
これにより、一連のエラー メッセージがログに記録されます。
MKTileOverlay をサブクラス化し、URL が見つからないケースをトラップしようとしましたが、成功しませんでした。
これを解決する方法を知っている人はいますか?
ios - さまざまな MKTileOverlay レンダリングの問題を修正するにはどうすればよいですか?
CATiledLayer
現在、カスタム マップをスクロール ビューの使用からカスタム マップ タイルの使用MKMapView
に変換中ですMKTileOverlay
。-アプローチCATiledLayer
は一般的にうまく機能し、より見栄えがしますが、MKMapView
ローテーションなどを使用することで、他の方法では達成が非常に困難な多くのものを無料で取得できます。
そこで、ズーム レベル、列番号、行番号の推奨形式で使用するためにタイルを再描画し、マップ ビューに正しく表示するようにしました。私のマップ タイルはどこかの小さな領域しかカバーしていないことに注意してください。私はそれらを地球全体に持っているわけではありません。
最初に気付いた問題は、タイルがサポートする最大のズーム レベルを超えてズームインすると問題が発生するように見えることです。ズーム レベル 20 までタイルがあるので、MKTileOverlay
のmaximumZ
プロパティを 20 に設定します。レベル 21 にズーム インすると、マップ ビューはタイルをまったく要求しなくなります。レベル 21 に向かう途中でロードされたタイルは引き続き表示されます (ピクセル化されますが) が、スクロールしてそれ以上タイルをロードしないため、最終的にはマップが空白になります。理想的には、レベル 20 のタイルにフォールバックして代わりにそれらを表示するか、ユーザーがズームインしすぎないようにすることです。を使用するとCATiledLayer
、必要なだけズームインでき、常に最もズームインされたタイルが表示されます (タイルが「快適」であるよりもさらにズームインした場合でも)。例
他にも小さな問題があります。
true に設定canReplaceMapContent
すると、さらにズームインできます (これは問題ありません) が、近づきすぎるとカメラが地面を切り取ってしまい、あらゆる種類のレンダリング アーティファクトが発生します。それを防ぐ方法はありますか?例
タイル間に小さなピクセル サイズのレンダリング アーティファクトが存在する場合がありますMKMapView
。これらのアーティファクトは、ネイティブ マップ アプリには影響しないようです。これらを取り除く方法はありますか?例
ズームインしてパンすると、タイルが読み込まれるときに多くの白い閃光が見られます。これは明らかです。を使用したときCATiledLayer
、(不透明度をアニメーション化することによって) 非常にスムーズに読み込まれ、低ズーム レベルは既に背景に存在していたため、タイルを使用していることさえ全体的にわかりにくかったです。タイルをよりシームレスにロードする方法はありますか? 例
これらの質問のほとんどに対する答えは、 を使用して修正することはできないMKMapView
ということだと思います。ユーザーがマップの見出しを変更できるようにしたいのですが、標準を使用して行うのはかなり難しいように思われるため、これは残念ですCATiledLayer
!
caching - オフラインで使用するための MKTileOverlay のキャッシュ
次のサーバーからこの形式でマップをロードする MKMapView があります。
このサーバーから読み込まれたタイルをキャッシュするには、アプリのドキュメント フォルダーにタイルを保存する必要があることはわかっていますが、どのようにすればよいでしょうか?
Documents フォルダーに存在する場合にこれらのタイルをレンダリングするには、MKTileOverlay をサブクラス化し、サーバーからプルする前にローカル ストレージをチェックする必要があることを知っていますが、どうすればよいでしょうか。
どんな助けでも大歓迎です。
万歳 - クリス
swift - MKTileOverlay - バンドル タイルの追加
タイル マップにオーバーレイを追加するのは簡単なはずです。私は大きな問題を抱えています。彼らは表示されません。
15 16 と 17 ズームで Bayeux の中心部のマップ タイルをフォルダー baymap に持っています。フォルダーをプロジェクトにスライドさせました。
ここにコードがあります
質問を編集して、印刷の「call overlay」と「is MKTileoverlay」を追加しました。どちらもコンソールに出力されます。
バイユーのアップル マップは正常に表示されますが、オーバーレイは表示されません。
コンソールでは、バンドルに含まれていないタイルを参照する、このような数十のエラーが発生しています。
: URL ファイルの読み込みエラー:///Users/colinmcgarry/Library/Developer/CoreSimulator/Devices/5A9A20A4-9C3F-4A65-8823-9721463FF985/data/Containers/Bundle/Application/D2C87A46-E848-4C0D-9B05-30E731EC037F/TileOverlaystack .app/baymap/17/65283/86214.png/: エラー Domain=NSURLErrorDomain Code=-1100 「要求された URL はこのサーバーで見つかりませんでした。」
誰が私が間違っているかを見ることができますか?Swift のバンドル タイル オーバーレイに適したチュートリアルはありますか?
ありがとう