こんばんは、コタツです。

現在Xamarin.Formsを使って、地図を使ったアプリを開発しようと思ってます。xamarin.Formsでの地図の表示方法を調べてみると、「xamarin.Forms.Map」というのを見つけて使ってみたのですが、できることが少ない。。。基本的には地図を表示してアイコンを置くぐらいしかできなくて、私がやりたいことは全くできませんでした。AndroidとiOS、それぞれで実装しようと考えていたときに「xamarin.Forms.GoogleMaps」を見つけました。「xamarin.Forms.Maps」との比較はこちら

Xamarin.Forms.Maps との比較

現在私がやりたいことができてしまうので、「xamarin.Forms.GoogleMaps」を利用して開発を進めていきたいと思います。

今回は「xamarin.Forms.GoogleMap」の導入の仕方をまとめてみました。



1.xamarin.Formsのプロジェクト作成

Visual Studioを開いて「新しいプロジェクト」→「Cross-Patform」→「Blank Xaml App(Xamarin Forms Portable)」を選択して、「OK」をクリックします。
xamarin-forms-Googlemap01

2.xamarin.Forms.GoogleMapパッケージの導入

「ツール」→「NuGet パッケージマネージャー」→「ソリューションの NuGet パッケージの管理」をクリックします。「参照」を選択して、検索ダイアログに「xamairn forms googlemap」と記載すると「Xamarin Forms GoogleMap」のパッケージが表示されます。
xamarin-forms-Googlemap02



インストールするプロジェクトを選択して「インストール」をクリックします。
xamarin-forms-Googlemap03



※私の環境だけかもしれませんが、インストール後にビルドをすると「java.lang.OutOfMemoryError」が発生します。「App12.Droid」プロジェクトの設定画面の「Android Options」→「Advance」内の「Java Max Heap Size」の欄に「1G」と記載して再度ビルドをするとビルドは成功します。
xamarin-forms-Googlemap04




3.xamarin.Forms.GoogleMapの初期化

xamarin.Forms.GoogleMapの初期化は、各プラットフォームに記載する必要があります。GoogleMap Keyはあらかじめ入手しておいてください。

Androidは「MainActivity.cs」に追加します。

またAndroidには「MyApp.cs」(クラス名は何でもいいかも??)を作成して、下記のコードを記載します。




iOSの場合は「AppDelegate.cs」に追加します。

地図を表示

「MainPage.xaml」を下記のように修正します。

実行すると下記の画面が表示されます。
xamarin-forms-googlemap05

まとめ

今回は「Xamarin.Forms.GoogleMap」を利用してGoogleMapを表示してみました。使い方も簡単で凄く便利で助かります。次回からその他の機能も使っていろいろと試していきたいと思います。