11

このような問題に遭遇しました。

旅行用のアプリを開発中です。ユーザーがアプリのローミング料金に多額の費用をかけないようにするために、ユーザーがキャッシュされたマップのみを表示するための設定オプションを実装することにしました。そのため、インターネットからマップをロードするか、お金を節約してキャッシュされたマップ (Library/Caches/MapTiles/MapTiles.sqlitedb に保存されている) を表示するかをユーザーに決定させます。

これを実装する方法が見つかりません。この場合、プログラムでネットワークを無効にする方法はありますか? または、MapKit でキャッシュされたタイルのみを使用するように強制しますか? このオプションの APN をプログラムで変更して、MapKit を強制的にオフラインにすることを検討しました。プログラムでAPNを変更することは可能ですか?

ありがとうございました!

4

4 に答える 4

4

iPhone SDK アプリはネットワーク アダプタの設定にアクセスできません。また、インターネットの使用を制御できる MapKit API については何も知りません。この場合の最善の選択肢は、おそらく、ユーザーが機内モードを有効にするか、データ ローミングをオフにすることを提案するアラートを表示することです。

于 2009-12-24T20:58:27.543 に答える
2

openstreetmap を使用する 商用面を考える クラウド製でオフライン マップが可能

http://developers.cloudmade.com/projects/show/iphone-sdk

iPhone 開発者が OSM マップを使用するのに役立つライブラリ route-me は、多くの iPhone アプリケーションで OSM マップを表示するために使用されるオープンソース ライブラリです。CloudMade iPhone マップ ライブラリは、さまざまなサイズとスタイルの CloudMade の OSM ベースのマップ タイルへの高レベルのアクセスを提供するオープンソース ライブラリです。John McKerrell はルーティング アルゴリズムを gosmore から iPhone で実行できるように移植し、基本的なルートの生成に成功しました。より複雑なルートは現時点で iPhone をクラッシュさせます

于 2010-07-14T12:07:10.670 に答える
-1

Googleマップアプリはキャッシュ機能を行います... MapKitはないようです.Appleは次のバージョンのSDKでこの機能を追加すると思います...

于 2009-12-25T05:48:46.430 に答える