最初の、そしておそらく最もおいしい-これで、MapViewの代わりにフラグメントを完全に使用できます。 これを行うには、次のコードをマークアップに挿入します。
<fragment android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.SupportMapFragment"/>
第二に、ピンを使用する方がはるかに便利になりました。 確かに、今ではマーカーと呼ばれるという事実に慣れる必要があり、はるかに便利になります。 これで、ItemizedOverlayなどをフェンスする必要がなくなりました。 これで、必要なパラメーターを指定してaddMarker(MarkerOptionsオプション)メソッドを実行するのが非常に簡単になり、マーカーは指定された位置で誇張されます。
3番目のプラス-マップ上でオブジェクトを描画するのに非常に便利になりました。このオブジェクトは、混乱することなく、問題なくマップに沿ってズームおよびスクロールできます。 図形( addPolygonメソッド(PolygonOptionsオプション) )または線( addPolylineメソッド(PolylineOptionsオプション) )をマップに追加するだけです。 これは、国、都市、地区に簡単にペイントできることを意味します...あなたの車?)はい、何でも!
次の短所が目を引きました。
- これで、マップを操作するには、ユーザーがGoogle自体から「マップ」アプリケーションをインストールする必要があります。 そうしないと、「Googleマップアプリケーションが見つかりません」というエラーがログに表示されます。 しかし、アプリケーションはこれをユーザーに通知しないため、ユーザーを怒らせる可能性があります。 あなたはおそらく松葉杖を作ることができますが、彼がすぐそこにいないのは残念です。 PS:デバイスにCyanogenModがあり、エラーをキャッチしました。
- また、アプリケーション「Google Play Services」なしでは不可能です。 確かに、ユーザーはこの問題について通知されますが、非常に美しい形式ではありません。 この投稿をより魅力的にする方法をまだ探していません。
- APIの新しいバージョンへの移行は不合理に面倒で、少し気が滅入ると思われます。 特に、すでに多くのことが行われているが、まだ多くの作業が残っている場合、新しいチップは必要なものです。
- もちろん、誰かにとっては、Android 2.2+とのみ互換性があることが重要かもしれません
怖がらない? 次に、最初の例の起動を開始しましょう。
まず、Google Play開発者サービスSDKをインストール/更新する必要があります。 これを行うには、次を実行します。
- Android SDK Managerを起動します
- 「追加」→「Google Play開発者サービス」を選択してインストールします
- 「パッケージのインストール」ボタンをクリックします
インストールが完了すると、フォルダーlibproject / google-play-services_libとサンプル/マップが<android-sdk> / extras / google / google_play_servicesにあります。 最初のフォルダーの内容からモジュールを作成する必要があります。モジュールはプロジェクトに接続します。 そして2番目から-カードを操作するためのアプリケーションのほんの一例。 まず、これらのフォルダーをプロジェクトがあるディレクトリにコピーし、そこで作業することをお勧めします。これにより、SDKには常に、サンプルを含むライブラリのクリーンコピーが含まれます。
残念ながら、Eclipseでこれらすべてをチェックする方法を提案することはできません。 そして、Intellij Ideaでこれを行う方法に関するチートシートがあります。
Intellij Ideaでサンプルプロジェクトを展開する
スタートアップの問題は発生しましたが、ごく軽微なものでした。
- ファイル→新規プロジェクト...
- 既存のソースからプロジェクトを作成→次へ
- プロジェクトファイルの場所でサンプル/マップへのフルパスを設定し、[次へ]、[次へ]をクリックします。
- ファイル→プロジェクト構造→モジュール→モジュールSDK:Android 4.2 Google API→OK
- google-play-services_lib / srcで、およそ次の内容のファイルcom / google / Hack.javaを作成します。
package com.google; public class Hack { // Empty class to ensure there is a src folder. }
Ideaは、通常このディレクトリからモジュールを作成する必要があります。 - google-play-services_lib / libsフォルダーにandroid-support-v4.jarをコピーします。 古いバージョンのAndroidとの互換性のために必要になります
- ファイル→プロジェクト構造→モジュール→2列目の上の「プラス」→モジュール
- 既存のソースからモジュールを作成→google-play-services_libへのパスを指定→次へ、次へ...
- 右側で、「プラス」→ジャーまたはディレクトリ→google-play-services_lib / libs→OKをクリックします
- リストの行の横にチェックマークを付けます。
- 2番目の列で、別のモジュール(したがって、プロジェクト)を選択→右側の「プラス」→モジュールの依存関係...→OK→OK
スタートアップの問題は発生しましたが、ごく軽微なものでした。
カードを獲得するためには、新しいAPI_KEYを取得する必要があります-古いAPI_KEYは今は適合しません。 私はこのプロセスをより詳細に説明できるようにします。 djvuはここで説明しました :
- デビットまたはリリースキーからSHA1フィンガープリントを作成する
- コンソールに移動します
- プロジェクトの作成...→「Google Maps Android API v2テストプロジェクト」など、プロジェクトの名前を入力します
- Google Maps Android API v2翻訳を「オフ」から「オン」に切り替えます
- 「条件」に同意します(そうでなければ、Google Maps Android API v2に別れを告げます)。
- 左側のナビゲーションバーでAccess APIメニューに移動し、下部にある[新しいAndroidキーを作成...]ボタンを押します。
- 「<SHA1>; <パッケージ名>」と入力します。 私の場合、パッケージ名はcom.example.mapdemoでした。 パッケージの名前がわからない場合は、アプリケーションの作成時に作成されたAndroidManiffest.xmlファイルで、最初のマニフェストタグであるpackage属性の値で簡単にスパイできます。
- [作成]ボタンをクリックします。
- 結果のキーはAndroidManifest.xmlに挿入されます
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="your_api_key"/>
- さあ始めましょう!
結果のアプリケーションには多くの興味深いものがあります。できるだけ徹底的に勉強することをお勧めします。
PS:新しいAPIの主要なドキュメントはすべてここに集められています 。
あなたに簡単で成功したジオコーディング!