Xamarin.Forms 用の Googleマップライブラリです。
Xamarin.Forms.Maps をフォークして作っているので、使い方はほとんど同じです。
Xamarin公式の地図ライブラリ Xamarin.Forms.Maps は、非常に機能が少ないです(Googleマップ、Appleマップ、Bingマップで機能を共通化するのはとても難しいのでしょう)。
特に感じるのは、BingマップSDKがとてもチープなことです。ベクトルタイルでもないし、マーカーの吹き出し(InfoWindow )も無いようです。モバイルアプリの市場のほとんどは Android と iOS なのに、Bingマップのサポートは必要ないように感じます。また、iOS でも Appleマップ よりも Googleマップ を使用した方が、 Android/iOS で共通化しやすいと感じます。
このライブラリは、メインターゲットを iOS と Android だけに限定し、Xamarin.Forms.Maps でできない機能を実現するために作りました。
異なる地図SDKで実現可能な最小限の機能しか持たない Xamarin.Forms.Maps に対して、 同じ Google Maps で多くの共通機能を実現できるのが Xamarin.Forms.GoogleMaps です。
機能 | X.F.Maps | X.F.GoogleMaps |
---|---|---|
地図の種類 | Yes | Yes |
渋滞状況地図 | - | Yes |
地図イベント | - | Yes |
地図の移動(アニメーション付き) | Yes | Yes |
地図の移動(アニメーション無し) | - | Yes |
ピン | Yes | Yes |
カスタムピン | - | Yes |
ピンのドラッグ&ドロップ | - | Yes |
ポリゴン | - | Yes |
ライン | - | Yes |
円 | - | Yes |
カスタム地図タイル | - | Yes |
詳しくは、[Xamarin.Forms.Maps との比較](https://github.com/amay077/Xamarin.Forms.GoogleMaps/wiki/Xamarin.Forms.Maps との比較) を見て下さい。
- Available on NuGet: https://www.nuget.org/packages/Xamarin.Forms.GoogleMaps/
- PCLプロジェクトと各プラットフォームプロジェクトにインストールしてください
Platform | Supported |
---|---|
iOS Unified | Yes |
Android | Yes |
Windows 10 UWP | Yes (Bing map) |
その他 | No |
とほぼ同じです。
初期化メソッドが Xamarin.Forms.Maps.Init()
から Xamarin.Forms.GoogleMaps.Init()
に変更になっています。
iOS の場合、 Google Maps API for iOS の API キーを取得し、AppDelegate.cs
にて Init
に渡してください。
[Register("AppDelegate")]
public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
{
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
global::Xamarin.Forms.Forms.Init();
Xamarin.FormsGoogleMaps.Init("your_api_key");
LoadApplication(new App());
return base.FinishedLaunching(app, options);
}
}
既定の名前空間が Xamarin.Forms.Maps
から Xamarin.Forms.GoogleMaps
に変更されています。他のAPIはすべて同じです。
サンプルプログラムが、
にあります。
なるべく Xamarin.Forms.Maps の API に準じ、Google Maps固有の機能のみ API を追加するつもりです。
機能要望は、 @amay077 または、ISSUE やプルリクください! 追加機能案は以下の通りです。
Pin の InfoWindow の Visible プロパティv1.0.0で対応Pin のタップ&ホールドによる移動v1.5.0で対応Polygon, Polyline, Circle の描画サポートv1.1.0で対応- その他の機能改善リスト
Windows 10 UWP 対応は「とりあえず」残しました。 が、基本的には Android/iOS での Google Maps に最適化するので、UWP では未対応の機能が増えると予想されます。
私たちは、Xamarin.Forms.GoogleMaps への、あなたの貢献に大変感謝します。
開発に参加して頂ける方は、コントリビューション ガイドライン を読んで下さい。
LICENSE をみて下さい。
logo.png by alecive - CC BY-SA 4.0