地図の表示
Xamarin.Android で Google Maps の表示は、Xamarin.Androidで地図を表示するには?(Google Maps使用) - Build Insider などを参考にしてください。
地図の操作
地図を操作するには、IOnMapReadyCallback を実装し、GoogleMap オブジェクトを取得します。
public class MapActivity : Activity, IOnMapReadyCallback { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // MapFragment から GoogleMap の取得 var mapFrag = (MapFragment)FragmentManager.FindFragmentById(Resource.Id.map); mapFrag.GetMapAsync(this); } public void OnMapReady(GoogleMap map) { // map を使って操作 map.MyLocationEnabled = true; map.UiSettings.MyLocationButtonEnabled = true; } }
地図の移動
少しだけめんどうです。
var builder = CameraPosition.InvokeBuilder(); builder.Target(new LatLng(34.686564, 135.503155)); // 経緯度 builder.Zoom(8); // ズームレベル var cameraUpdate = CameraUpdateFactory.NewCameraPosition(builder.Build()); map.MoveCamera(cameraUpdate);
移動アニメーションを行うには、MoveCamera の代わりに AnimateCamera メソッドを使います。
マーカーと情報ウィンドウの表示
デフォルトのマーカーと情報ウィンドウを表示する方法です。
var m = new MarkerOptions(); m.SetPosition(new LatLng(34.686564, 135.503155)); m.SetTitle("株式会社ディーバ"); m.SetSnippet("大阪発 C#の会社"); // マーカー追加 var marker = map.AddMarker(m);
次の記事では、カスタムした情報ウィンドウを表示します。