Xamarin for VisualStudioでGoogleMapsAPIを使う
この記事でやること
VS2015で、GoogleMapを表示するAndroidアプリを作る
開発環境
IDE:VisualStudio2015 Community
言語:C#
その他:Xamarin.Androidを使う
プロジェクトの作成
APIキーの取得
GoogleMapsAPIを利用するためには、アプリケーションのマニフェストファイルにAPIキーと呼ばれるものを設定しなければならない。それの取得方法を説明する。
まずは下のサイトにアクセスして、Googleアカウントでログインする
Google Developers Console
プロジェクト名、プロジェクトIDを、任意に設定して、[作成]
[Google Maps Android API]をクリックして、
次の画面で[Enable]
[認証情報]→[APIを呼び出す場所]で[Android]を選択し、
[必要な認証情報]をクリック
[パッケージ名とフィンガープリントの追加]を選択。
APIキーの名前は任意に設定して、
[パッケージ名]はAndroidManifest.xmlを確認するか、[プロジェクト]の[プロパティ]より、[AndroidManifest]からパッケージ名を確認する。
[SHA-1 証明書のフィンガープリント]は、JDKに付属しているkeytool.exeというアプリケーションを使って確認する。
パスが通っている場合は、コマンドプロンプトで、keytoolと叩けばhelpが出てくる。出てこなければ、
[C:\Program Files (x86)\Java\jdk(バージョン名)\bin]を、Windowsの[システム環境変数]の[Path]に、加えておけばいい。
cdコマンド使うなり何なりして、keystoreファイルのある場所(C:\Users\%USERNAME%\AppData\Local\Xamarin\Mono for Android)で以下のコマンドを叩く
keytool -list -v -keystore debug.keystore -alias androiddebugkey -storepass android -keypass android
そしたらフィンガープリントが出力されているはずなので、SHA-1をコピペする。
入力が終わったら、APIキーを作成する
キーが表示されるので、それをコピーしておく(次のAndroidManifestの編集で使う)
AndroidManifestの編集
権限の取得、APIの設定等を行う
[プロジェクト]の[プロパティ]より、
[Application]で、
実機で実行する場合は、実機のAndroidのバージョンを確認して、[Compile using Android version]を、実機のバージョンと合わせる
[AndroidManifest]→[Configuration properties]で、
[ACCESS_COARSE_LOCATION]
[ACCESS_FINE_LOCATION]
[ACCESS_NETWORK_STATE]
[INTERNET]
[WRITE_EXTERNAL_STORAGE]
にチェックを付ける
次に、AndroidManifest.xmlを開いて、<application>
タグの中に、以下のコードを書き込む
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="(先ほど取得したAPIキー)" />
AndroidSDKの確認
[Google Play service]がインストールされていなければ、インストールする
ライブラリのDL
ソリューションを右クリックして、[ソリューションのNuGetパッケージの管理]をクリック
[参照]タブに移り、[Xamarin.GooglePlayServices.Maps]で検索
[Xamarin.GooglePlayServices.Maps]を、プロジェクトにインストール
レイアウトの編集
ソリューションエクスプローラから、[Resourses]→[layout]→[Main.axml]、下にある[Design]タブから、[Source]タブに移動
テンプレートで書かれているButton
タグを削除して、以下のコードを追加
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment"/>
MainActivityの編集
テンプレートで、ボタンを押すたびにカウントしていくプログラムが書かれているので、それを削除する
すると、ソースコードはこんな感じになるはずだ
namespace GoogleMapsAPI
{
[Activity( Label = "GoogleMapsAPI", MainLauncher = true, Icon = "@drawable/icon" )]
public class MainActivity : Activity
{
protected override void OnCreate( Bundle bundle )
{
base.OnCreate( bundle );
// Set our view from the "main" layout resource
SetContentView( Resource.Layout.Main );
}
}
}
ビルド
[F5]キーでビルド開始
自分の環境では、初回のビルドに結構時間がかかった
今までの手順が正しくできていれば、端末にGoogleMapが表示されているはずだ
参考にしたサイト
その他
サンプルプログラム
http://1drv.ms/1YeLS2M
Author And Source
この問題について(Xamarin for VisualStudioでGoogleMapsAPIを使う), 我々は、より多くの情報をここで見つけました https://qiita.com/hhyuga201515/items/9a934dfd088a743f226f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .