2012-01-28 22 views
1

私は、特定のアドレスのための1つのピンを示しMapkitとシンプルなアプリを実装しました。 私はこのピンをクリックすると、私は場所と開示指標の詳細を見ることができます。 この時点で、私はそこに彼の場所からの指示を取得するために、ユーザーを有効にしたいと思います。iOSマップキットからGoogleマップへ

私が持っていた唯一のアイデアは、それが目的の座標と、GoogleマップでURLを開くのWebビューをプッシュすることでした。 これを行うには、そこに多くの効果と使用可能な方法はありますか?他のアイデア?事前に

おかげで、あなたはUIWebViewを埋め込むか、ユーザーがマップアプリに行かせたいかどうかを判断する必要が yassa

答えて

2

。アプリのうち、ユーザが、マップアプリでユーザーエクスペリエンスがWebエクスペリエンスよりもはるかに優れて聞かせている場合は、ソートの「ユーザー接続」を失います。そのため、私はマップアプリと一緒に行きました。

UIApplication openURLで地図アプリを起動する方法についてはhttp://wiki.akosma.com/IPhone_URL_Schemes#Mapsをご覧ください。

地図アプリがインストールされていないと(シミュレータだけの場合)、Webページは開かれますが、埋め込み型のUIWebViewではなくSafariで表示されます。

1

実際、iOS7ではMapKitを使用してアプリ内で指示を与えることができます。 Hereが私のソースです。そして、私は引用:

MKDirectionRequestとMKDirectionResponse多くのモバイルユーザーが自分のデバイスから 方向に依存しているとiOS 7の開発者は、代わりに地図 アプリケーションに切り替えるのにアプリのコンテキスト内で にそれらを提供することができます。送信元と送信先でリクエストを開始します。 その他のオプションには、代替ルート、トランスポートタイプ、および 出発/到着時刻が含まれます。

MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init]; 
> request.source = source; request.destination = destination; 
> request.requestsAlternateRoutes = YES; MKDirections *directions = 
> [[MKDirections alloc] initWithRequest:request]; [directions 
> calculateDirectionsWithCompletionHandler: ^(MKDirectionsResponse 
> *response, NSError *error) {  if (error) {  NSLog(@"Error is %@",error); } else {  [self showDirections:response];  } }]; 

MKRouteStepの配列を含むその各々MKDirectionsResponse MKRoutesのアレイを含む情報の過多を提供するので、 あなたが取得する方向の各ステップを提供することができますあなたのユーザーは になります。配列にMKRouteとMKRouteStepsを置くことによって、それ は、テーブル内の情報を表示するかのように地図上に 情報を表示することが容易になります:

for (MKRoute *route in _response.routes) {  [_mapView 
> addOverlay:route.polyline level: MKOverlayLevelAboveRoads]; } 

結果として頻繁に更新することができますユーザーは自分のデバイスと共に移動しますので、 は結果を長時間キャッシュしません。

Google Maps APIと同様の機能を備えているため、Googleではアプリに1日に要するリクエスト数に制限を設けています( )。アップルは を選択して、それぞれのデバイスの方向と速度を制限します。 は、アプリケーションごとまたは開発者ごとの使用制限がないことを意味します。デバイスが高い使用率に達すると、デバイスが再帰的にリクエストを行うようなアプリケーションを制限することを意図しているため、デバイスを絞り込むことができます。

申し訳ありませんが、この回答が奇妙にフォーマットされている場合、引用符とコードの書式設定がすべて難しいです。お役に立てれば。

関連する問題