public void ChangeRegionInMap(pcl.Marker marker) { if (marker != null) { LatLng location = new LatLng(marker.Coordinate.Latitude, marker.Coordinate.Longitude); CameraPosition.Builder builder = CameraPosition.InvokeBuilder(); builder.Target(location); builder.Zoom(MAP_VIEW_ZOOM_INIT); CameraPosition cameraPosition = builder.Build(); this.cameraUpdate = CameraUpdateFactory.NewCameraPosition(cameraPosition); this.map.MoveCamera (this.cameraUpdate); } }
async void DoMapStuff () { if (stop) { return; } GoogleMap map = mapFragment.Map; if (map != null) { LatLng lanLng; LocationManager locationManager = (LocationManager) activity.GetSystemService (Android.Content.Context.LocationService); Criteria criteria = new Criteria(); Location location = locationManager.GetLastKnownLocation (locationManager.GetBestProvider (criteria, false)); if (location != null) { lanLng = new LatLng (location.Latitude, location.Longitude); } else { lanLng = new LatLng (58.366473, 26.690286); } CameraPosition.Builder builder = CameraPosition.InvokeBuilder(); builder.Target(lanLng); builder.Zoom(17); builder.Bearing(0); builder.Tilt(0); CameraPosition cameraPosition = builder.Build(); cameraUpdate = CameraUpdateFactory.NewCameraPosition(cameraPosition); map.MoveCamera(cameraUpdate); map.MyLocationEnabled = true; stop = true; AddMarkers (); } await Task.Delay (animationDurationMs); DoMapStuff (); }
void ChangeCamera (CameraUpdate update, GoogleMap.ICancelableCallback callback = null) { if (animateToggle.Checked) { if (customDurationToggle.Checked) { var duration = customDurationBar.Progress; map.AnimateCamera (update, Math.Max (duration, 1), callback); } else { map.AnimateCamera (update, callback); } } else { map.MoveCamera (update); } }