protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); button = FindViewById<Button>(Resource.Id.GetLocationButton); latitude = FindViewById<TextView>(Resource.Id.LatitudeText); longitude = FindViewById<TextView>(Resource.Id.LongitudeText); provider = FindViewById<TextView>(Resource.Id.ProviderText); address = FindViewById<TextView>(Resource.Id.AddressText); // MapFragment の用意と初期の場所を指定します。 // MapFragment.Map が deprecated みたいなので、正しい書き方を教えてください>< MapFragment mapFrag = (MapFragment)FragmentManager.FindFragmentById(Resource.Id.MapFragment); map = mapFrag.Map; if (map != null) // Map の準備が出来たら (最初は null を返します) { map.MyLocationEnabled = true; // 現在地ボタン オン map.UiSettings.ZoomControlsEnabled = true; // ズームコントロール オン // 初期位置(カメラ)を移動 map.AnimateCamera(CameraUpdateFactory.NewCameraPosition( new CameraPosition( new LatLng(35.685344d, 139.753029d), // 皇居(中心位置) 12f, 0f, 0f))); // ズームレベル、方位、傾き } }
public void OnMapReady(GoogleMap googleMap) { this.googleMap = googleMap; LatLng denmarkLatLng = new LatLng(56, 10.5); googleMap.MoveCamera(CameraUpdateFactory.NewLatLng(denmarkLatLng)); googleMap.AnimateCamera(CameraUpdateFactory.ZoomTo(6)); }
private bool SetupMapIfNeeded() { if (_map == null) { _map = _mapFragment.Map; if (_map != null) { AddMonkeyMarkersToMap(); AddInitialPolarBarToMap(); // Animate the move on the map so that it is showing the markers we added above. _map.AnimateCamera(CameraUpdateFactory.NewLatLngZoom(LocationForCustomIconMarkers[1], 2)); return true; } return false; } return true; }
async public void DrawMap() { if ( _stateClass._person != null) { _mapFragment = MapFragment.FragmentManager.FindFragmentById(Resource.Id.map) as MapFragment; _map = _mapFragment.Map; _map.Clear(); // Set the map type // show user location _map.MyLocationEnabled = true; // setup a location manager _locationManager = _mainActivity.GetSystemService (Context.LocationService) as LocationManager; // use a generic location provider instead Criteria locationCriteria = new Criteria(); locationCriteria.Accuracy = Accuracy.Coarse; locationCriteria.PowerRequirement = Power.Medium; await System.Threading.Tasks.Task.Delay(0); var geoCoder = new Geocoder(_mainActivity); try { Address address = this.GetAddressesFromLocation(_stateClass._person.Strasse,_stateClass._person.PLZ,_stateClass._person.Ort,_stateClass._person.Land); MarkerOptions marker1 = new MarkerOptions(); if (address != null) { marker1.SetPosition(new LatLng(address.Latitude, address.Longitude)); marker1.SetTitle(_stateClass._person.Name + " - " + _stateClass._person.Strasse + " - " + _stateClass._person.Ort + "- " + _stateClass._person.Umsatz); marker1.InvokeIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueRed)); _Marker = _map.AddMarker(marker1); _map.AnimateCamera(CameraUpdateFactory.NewLatLngZoom(new Android.Gms.Maps.Model.LatLng(address.Latitude, address.Longitude), 9.0f)); } else { Android.Widget.Toast.MakeText(_mainActivity,_mainActivity.Resources.GetString(Resource.String.AddresseNichtGefunden), Android.Widget.ToastLength.Short).Show(); } _map.MarkerClick += (object sender, GoogleMap.MarkerClickEventArgs markerClickEventArgs) => { markerClickEventArgs.Handled = true; Marker marker = markerClickEventArgs.Marker; _map.AnimateCamera(CameraUpdateFactory.NewLatLngZoom(marker.Position, 13)); marker.ShowInfoWindow(); }; } catch(Exception ex) { DataAccessLayer.ExceptionWriter.WriteLogFile(ex); } } }
private void SetupMapIfNeeded() { if (_map == null) { _map = _mapFragment.Map; if (_map != null) { var centerPoint = new LatLng (Station.TroncalRouteCenter.Y, Station.TroncalRouteCenter.X); Activity.RunOnUiThread (delegate{ _map.AnimateCamera(CameraUpdateFactory.NewLatLngZoom(centerPoint,15.0f)); _map.MyLocationEnabled = true; }); stations = stationRepository.Stations; Activity.RunOnUiThread (delegate{ foreach(var station in stations){ var location = new LatLng(station.Latitude, station.Longitude); var stationImageId = Resources.GetIdentifier( station.ImageFilename().ToLower(), "drawable", Activity.PackageName); var originalStationBitmap = BitmapFactory.DecodeResource(Resources, stationImageId); var scale = Resources.DisplayMetrics.Density; var pixels = 35; var stationBitmap = Bitmap.CreateScaledBitmap(originalStationBitmap, (int) (pixels * scale + 0.5f), (int) (pixels * scale + 0.5f), false); MarkerOptions markerOptions = new MarkerOptions() .SetPosition(location) .InvokeIcon(BitmapDescriptorFactory.FromBitmap(stationBitmap)) .SetTitle(station.Name); _map.AddMarker(markerOptions); } var polylineOptions = new PolylineOptions(); polylineOptions.InvokeWidth(5.0f); polylineOptions.InvokeColor(Color.Black); foreach(var point in Station.TroncalRoutePath){ polylineOptions.Add(new LatLng(point.Y, point.X)); } _map.AddPolyline(polylineOptions); }); } } }
public async void OnMapReady(GoogleMap googleMap) { GMap = googleMap; GMap.InfoWindowClick += MapOnMarkerClick; // users = new ArrayList(); string result= await ApiRequests.getLocations(client); if (result!= "error") { users = JsonConvert.DeserializeObject<User[]>(result); foreach (User user in users) { if (user.latitude != null) { GMap.AddMarker(new MarkerOptions() .SetTitle(user.first_name + " " + user.last_name) .SetSnippet(user.email) .InvokeIcon(BitmapDescriptorFactory.FromResource(Resource.Drawable.marker)) .SetPosition(new LatLng((double)user.latitude, (double)user.longitude))); } } } GMap.AnimateCamera(CameraUpdateFactory.NewLatLngZoom(new LatLng((double)client.latitude, (double)client.longitude), 12)); }
public override void OnStart () { base.OnStart (); if (_person != null) { _mapFragment = FragmentManager.FindFragmentById(Resource.Id.map) as MapFragment; if (_mapFragment == null) return; _map = _mapFragment.Map; // Set the map type _map.MapType = GoogleMap.MapTypeNormal; // show user location _map.MyLocationEnabled = true; // setup a location manager _locationManager = _activity.GetSystemService (Context.LocationService) as LocationManager; // use a generic location provider instead Criteria locationCriteria = new Criteria(); locationCriteria.Accuracy = Accuracy.Coarse; locationCriteria.PowerRequirement = Power.Medium; var geoCoder = new Geocoder(_activity); try { Address address = this.GetAddressesFromLocation(_person.Strasse,_person.PLZ,_person.Ort,_person.Land); MarkerOptions marker1 = new MarkerOptions(); if (address != null) { marker1.SetPosition(new LatLng(address.Latitude, address.Longitude)); marker1.SetTitle(_person.Name + " - " + _person.Strasse + " - " + _person.Ort + "- " + _person.Umsatz); marker1.InvokeIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueRed)); _Marker = _map.AddMarker(marker1); _map.AnimateCamera(CameraUpdateFactory.NewLatLngZoom(new Android.Gms.Maps.Model.LatLng(address.Latitude, address.Longitude), 9.0f)); } else { Android.Widget.Toast.MakeText(_activity,_activity.Resources.GetString(Resource.String.AddresseNichtGefunden), Android.Widget.ToastLength.Short).Show(); } _map.MarkerClick += MapOnMarkerClick; } catch(Exception ex) { DataAccessLayer.ExceptionWriter.WriteLogFile(ex); } } }
private void SetUpMapIfNeeded(List<Feature> data) { if(null != _googleMap) return; CameraPosition.Builder builder = CameraPosition.InvokeBuilder (); if (string.Compare (_selectedCity, "warszawa") == 0) { LatLng location = new LatLng (52.2333, 21.0167); builder.Target (location); builder.Zoom (11); } if (string.Compare (_selectedCity, "czestochowa") == 0) { LatLng location = new LatLng (50.8000, 19.1167); builder.Target (location); builder.Zoom (11); } CameraPosition cameraPosition = builder.Build (); CameraUpdate cameraUpdate = CameraUpdateFactory.NewCameraPosition (cameraPosition); var mapReadyCallback = new OnMapReadyClass(); mapReadyCallback.MapReady += (sender, e) => { _googleMap = ((OnMapReadyClass)sender).Map; _googleMap.MapType = GoogleMap.MapTypeNormal; _googleMap.AnimateCamera(cameraUpdate); GoogleMapHelpers.PlaceMarkersOnTheMap(data, _googleMap); _googleMap.SetInfoWindowAdapter(new CustomMarkerPopupAdapter(LayoutInflater)); }; try { if(_myMapFragment != null) _myMapFragment.GetMapAsync(mapReadyCallback); } catch (NullReferenceException ex) { Console.WriteLine(ex.Source); } }
private void SetUpMapIfNeeded() { if(null != _googleMap) return; CameraPosition.Builder builder = CameraPosition.InvokeBuilder (); LatLng location = new LatLng (Convert.ToDouble(_latitude), Convert.ToDouble(_longitude)); builder.Target (location); builder.Zoom (15); CameraPosition cameraPosition = builder.Build (); CameraUpdate cameraUpdate = CameraUpdateFactory.NewCameraPosition (cameraPosition); var mapReadyCallback = new OnMapReadyClass(); mapReadyCallback.MapReady += (sender, e) => { _googleMap = ((OnMapReadyClass)sender).Map; _googleMap.MapType = GoogleMap.MapTypeNormal; _googleMap.AnimateCamera(cameraUpdate); List<Feature> data = new List<Feature>(); List<double> coord = new List<double> (); coord.Add (Convert.ToDouble(_longitude)); coord.Add (Convert.ToDouble(_latitude)); _toilet = new Feature () { type = "Feature", geometry = new Geometry() { coordinates = coord, type = "Point" }, properties = new Properties() { ranking = "0", id = "0", name = _name, icon = "znajdz_wc_logo_free_marker.png", isFree = _isFree, comment = _comment, photo = "", openHours = "", isVerified = false, } }; data.Add(_toilet); GoogleMapHelpers.PlaceMarkersOnTheMap(data, _googleMap); _googleMap.SetInfoWindowAdapter(new CustomMarkerPopupAdapter(LayoutInflater)); }; try { _myMapFragment.GetMapAsync(mapReadyCallback); } catch (NullReferenceException ex) { Console.WriteLine(ex.Source); } }