// Function to add data fields passed on from Main Activity (Latitude, Longitude, Address - then adds a tag to marker utilising the address field if there's any) public void adddatatomap() { MarkerOptions opt = new MarkerOptions(); double lat = Convert.ToDouble(Intent.GetStringExtra("Latitude")); double lng = Convert.ToDouble(Intent.GetStringExtra("Longitude")); string address = Intent.GetStringExtra("Address"); LatLng location = new LatLng(lat, lng); opt.SetPosition(location); opt.SetTitle(address); map.AddMarker(opt); // Adds a marker to map based on the address that was past on from our Main Activity // Positioning the camera to show the marker based on fields parameter as set below CameraPosition.Builder builder = CameraPosition.InvokeBuilder(); builder.Target(location); builder.Zoom(15); builder.Bearing(90); builder.Tilt(65); CameraPosition cameraPosition = builder.Build(); CameraUpdate cameraUpdate = CameraUpdateFactory.NewCameraPosition(cameraPosition); map.MoveCamera(cameraUpdate); // Marker window clicked event map.InfoWindowClick += map_InfoWindowClick; // Marker dragged event map.MarkerDragEnd += map_MarkerDragEnd; }
public MapRoute(GoogleMap map, List<Station> stations) { _map = map; _mapRoutes = new List<Polyline>(); _mapStations = new List<Marker>(); // Choose color; Color color = Color.DodgerBlue; // Create polyline. var polyline = new PolylineOptions(); polyline.InvokeWidth(4f); polyline.InvokeColor(color); for (var i = 0; i < stations.Count; i++) { // Add points to polyline. var station = stations[i]; if (station != null && station.latitude != 0f && station.longitude != 0f) { var latlng = new Android.Gms.Maps.Model.LatLng(station.latitude, station.longitude); polyline.Add(latlng); // Create marker. var marker = new MarkerOptions(); marker.SetPosition(latlng); marker.SetTitle((i + 1) + ". " + station.postName); marker.Draggable(false); marker.SetSnippet("ul. " + station.street); _mapStations.Add(_map.AddMarker(marker)); } } // Add polyline to map. _mapRoutes.Add(_map.AddPolyline(polyline)); }
public static LatLngBounds ToBounds(this MapRegion region) { var southwest = new LatLng(region.MinY, region.MinX); var northeast = new LatLng(region.MaxY, region.MaxX); return new LatLngBounds(southwest, northeast); }
public static IList<LatLng> DecodePolyline(string encoded) { List<LatLng> poly = new List<LatLng>(); int index = 0, len = encoded.Length; int lat = 0, lng = 0; while (index < len) { int b, shift = 0, result = 0; do { b = encoded[index++] - 63; result |= (b & 0x1f) << shift; shift += 5; } while (b >= 0x20); int dlat = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1)); lat += dlat; shift = 0; result = 0; do { b = encoded[index++] - 63; result |= (b & 0x1f) << shift; shift += 5; } while (b >= 0x20); int dlng = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1)); lng += dlng; LatLng p = new LatLng((((double)lat / 1E5)), (((double)lng / 1E5))); poly.Add(p); } return poly; }
public Ciudad_Marca(string nombre,string descripcion, LatLng ubicacion,string imagen) { this.Nombre = nombre; this.Descripcion = descripcion; this.Ubicacion = ubicacion; this.Imagen = imagen; }
protected override void OnCreate (Bundle savedInstanceState) { base.OnCreate (savedInstanceState); SetContentView (Resource.Layout.split_street_view_panorama_and_map_demo); if (savedInstanceState == null) markerPosition = SYDNEY; else markerPosition = savedInstanceState.GetParcelable (MARKER_POSITION_KEY).JavaCast<LatLng> (); var streetViewPanoramaFragment = (SupportStreetViewPanoramaFragment) SupportFragmentManager.FindFragmentById (Resource.Id.streetviewpanorama); streetViewPanoramaFragment.GetStreetViewPanoramaAsync (this); SupportMapFragment mapFragment = (SupportMapFragment) SupportFragmentManager.FindFragmentById (Resource.Id.map); mapFragment.GetMapAsync (this); // @Override // public void onMapReady(GoogleMap map) { // map.setOnMarkerDragListener(SplitStreetViewPanoramaAndMapDemoActivity.this); // // Creates a draggable marker. Long press to drag. // mMarker = map.addMarker(new MarkerOptions() // .position(markerPosition) // .icon(BitmapDescriptorFactory.fromResource(R.drawable.pegman)) // .draggable(true)); // } // }); }
public void UpdateEvents() { AddEventMarkers (); foreach (Event eve in TowManager.Get(1)) { LatLng latln = new LatLng (eve.Location.Lat, eve.Location.Lng); map.MoveCamera (CameraUpdateFactory.NewLatLngZoom (latln, 15)); } }
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 void CreateMarker() { var latLng = new LatLng(55.816887, 12.532878); var markerOptions = new MarkerOptions() .SetPosition(latLng) .Draggable(true); _meMarker = _map.AddMarker(markerOptions); _map.AnimateCamera(CameraUpdateFactory.NewLatLngZoom(latLng, 13)); }
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); } }
public void SetupMap () { GoogleMap map = (FragmentManager.FindFragmentById<MapFragment> (Resource.Id.map)).Map; double lat = Intent.GetDoubleExtra ("lat", 37.6329946); double lng = Intent.GetDoubleExtra ("lng", -122.4938344); float zoom = Intent.GetFloatExtra ("zoom", 15.0f); var position = new LatLng (lat, lng); map.MoveCamera (CameraUpdateFactory.NewLatLngZoom (position, zoom)); map.AddMarker (new MarkerOptions ().SetPosition (position)); }
public void OnMapLongClick (LatLng mkr) { if (mMap != null) { mMap.AddMarker (new MarkerOptions () .SetPosition (mkr) .SetTitle (NumMarker.ToString ()) .SetSnippet ("Marcador " + NumMarker.ToString ()) .Draggable (true)); NumMarker++; } }
public void SetViewPoint(LatLng latlng, bool animated) { CameraPosition.Builder builder = CameraPosition.InvokeBuilder(); builder.Target(latlng); builder.Zoom(14.5F); CameraPosition cameraPosition = builder.Build(); if (animated) { _map.AnimateCamera (CameraUpdateFactory.NewCameraPosition (cameraPosition)); } else { _map.MoveCamera (CameraUpdateFactory.NewCameraPosition (cameraPosition)); } }
public void OnMapReady(GoogleMap googleMap) { mMap = googleMap; LatLng latlng = new LatLng(loc.Latitude, loc.Longitude); //Wijnhaven CameraUpdate camera = CameraUpdateFactory.NewLatLngZoom(latlng, 15); mMap.MoveCamera(camera); MarkerOptions start = new MarkerOptions() .SetPosition(latlng) .SetTitle("Uw huidige locatie") .SetSnippet("U bevind zich hier") .SetIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueBlue)); mMap.AddMarker(start); MarkerFactory mFactory = new MarkerFactory(preLoad.csvFT.getMarkers()); float lowest = 99999; for (Iterator iter = mFactory.getIterator(); iter.hasNext();) { FietsTrommel ft = iter.next(); if (ft.xcoord.Length > 0 && ft.ycoord.Length > 0) { double lat = Convert.ToDouble(ft.xcoord.Replace('.', ',')); double lon = Convert.ToDouble(ft.ycoord.Replace('.', ',')); Location fietsT = new Location(""); fietsT.Latitude = lat; fietsT.Longitude = lon; if (fietsT.DistanceTo(loc) < 500) { LatLng coords = new LatLng(lat, lon); MarkerOptions newMarker = new MarkerOptions() .SetPosition(coords) .SetTitle(ft.Straat) .SetSnippet("Sinds: " + ft.Mutdatum) .Draggable(true); mMap.AddMarker(newMarker); } if (fietsT.DistanceTo(loc) < lowest) { lowest = fietsT.DistanceTo(loc); closest = ft; } } } Location closestF = new Location(""); double closLat = Convert.ToDouble(closest.xcoord.Replace('.', ',')); double closLon = Convert.ToDouble(closest.ycoord.Replace('.', ',')); closestF.Latitude = closLat; closestF.Longitude = closLon; }
protected override void OnElementChanged(Xamarin.Forms.Platform.Android.ElementChangedEventArgs<Xamarin.Forms.View> e) { base.OnElementChanged(e); extendedMap = (ExtendedMap)Element; mapView = Control as MapView; map = mapView.Map; map.MarkerClick+= HandleMarkerClick; // Pin tıklanınca sağalta açılan menüyü engellemek için map.UiSettings.MapToolbarEnabled = true; map.UiSettings.MyLocationButtonEnabled = true; if (extendedMap.isOverlayNeeded) { LatLng southwest = new LatLng (extendedMap.sw.Latitude, extendedMap.sw.Longitude); LatLng northeast = new LatLng (extendedMap.ne.Latitude, extendedMap.ne.Longitude); LatLngBounds bounds = new LatLngBounds (southwest, northeast); string url = extendedMap.overlayURL;//"http://www.mgm.gov.tr/mobile/mblhrt/data/radar/MAX--_6100_P00.png"; Bitmap objBitmap = GetImageBitmapFromUrl (url); BitmapDescriptor objBitmapDescriptor = BitmapDescriptorFactory.FromBitmap (objBitmap); GroundOverlayOptions objGroundOverlayOptions = new GroundOverlayOptions ().PositionFromBounds (bounds)/*.Position (objMapPosition, 100000)*/.InvokeImage (objBitmapDescriptor); map.AddGroundOverlay (objGroundOverlayOptions); //For freeing memory objBitmap.Recycle (); } for (int i = 0; i < extendedMap.pinDatas.Count; i++) { var markerWithIcon = new MarkerOptions (); markerWithIcon.SetPosition (new LatLng (extendedMap.pinDatas[i].lat, extendedMap.pinDatas[i].lng)); markerWithIcon.SetTitle (i.ToString()); /*markerWithIcon.SetTitle ("aa"); markerWithIcon.SetSnippet ("bb");*/ int resID = Resources.GetIdentifier (extendedMap.pinDatas [i].icon, "drawable" , "com.app1001.bluemart"); //System.Diagnostics.Debug.WriteLine (resID); markerWithIcon.SetIcon(BitmapDescriptorFactory.FromResource(resID)); map.AddMarker (markerWithIcon); } //Add Pins //map.SetInfoWindowAdapter(this); map.UiSettings.RotateGesturesEnabled = false; }
public void OnMapReady(GoogleMap map) { // sanity checks in case loading the map fails (Google Play can error) if (map != null) { Map = map; // because google can actually give me a valid map that isn't actually ready. try { // For privacy, turn off the map toolbar, which prevents people from getting specific driving directions // to neighborhood group houses. Map.UiSettings.MapToolbarEnabled = false; Map.SetOnMarkerClickListener(this); // set the map to a default position // additionally, set the default position for the map to whatever specified area. Android.Gms.Maps.Model.LatLng defaultPos = new Android.Gms.Maps.Model.LatLng(ConnectConfig.GroupFinder_DefaultLatitude, ConnectConfig.GroupFinder_DefaultLongitude); CameraUpdate camPos = CameraUpdateFactory.NewLatLngZoom(defaultPos, ConnectConfig.GroupFinder_DefaultScale_Android); map.MoveCamera(camPos); // see if there's an address for this person that we can automatically use. if (RockMobileUser.Instance.HasFullAddress( ) == true) { // if they don't already have any value, use their address if (string.IsNullOrEmpty(StreetValue) == true && string.IsNullOrEmpty(CityValue) == true && string.IsNullOrEmpty(StateValue) == true && string.IsNullOrEmpty(ZipValue) == true) { SearchPage.SetAddress(RockMobileUser.Instance.Street1( ), RockMobileUser.Instance.City( ), RockMobileUser.Instance.State( ), RockMobileUser.Instance.Zip( )); } else { // otherwise use what they last had. SearchPage.SetAddress(StreetValue, CityValue, StateValue, ZipValue); } } else { // otherwise, if there are values from a previous session, use those. SearchPage.SetAddress(StreetValue, CityValue, string.IsNullOrEmpty(StateValue) ? ConnectStrings.GroupFinder_DefaultState : StateValue, ZipValue); } } catch { } } }
protected override void OnCreate(Bundle bundle) { base.OnCreate (bundle); SetContentView (Resource.Layout.dashboard_listview_detail); progress = new ProgressDialog (this); lat = 37.09035962; lan = -95.71368456; flag = FindViewById<ImageView> (Resource.Id.ivNew1); flag.Click += Flag_Click; ivListEmpty = FindViewById<LinearLayout> (Resource.Id.ivEmptylist); lvlist = FindViewById<ListView> (Resource.Id.lvListDetail); llMap = FindViewById<RelativeLayout> (Resource.Id.llmap); tvnumber = FindViewById<TextView> (Resource.Id.tvNumber); tvdesc = FindViewById<TextView> (Resource.Id.tvdesc); tvtime = FindViewById<TextView> (Resource.Id.tvTime); tvreply = FindViewById<TextView> (Resource.Id.tvReply); ListSipp = new List<SippReplyModel> (); Typeface tf = Typeface.CreateFromAsset (Application.Context.Assets, "fonts/OpenSans-Light.ttf"); Typeface tf1 = Typeface.CreateFromAsset (Application.Context.Assets, "fonts/OpenSans-Semibold.ttf"); Typeface tf2 = Typeface.CreateFromAsset (Application.Context.Assets, "fonts/OpenSans-Bold.ttf"); adapter = new CustomListViewDetail (this, ListSipp); lvlist.Adapter = adapter; if (adapter.IsEmpty) { ivListEmpty.Visibility = ViewStates.Visible; } else { ivListEmpty.Visibility = ViewStates.Gone; } mapFrag = (MapFragment)FragmentManager.FindFragmentById (Resource.Id.map); map = mapFrag.Map; map.UiSettings.CompassEnabled = true; map.UiSettings.ZoomControlsEnabled = false; map.MyLocationEnabled = false; LatLng lastLatLng = new LatLng (lat, lan); map.MoveCamera (CameraUpdateFactory.NewLatLngZoom (lastLatLng, 15)); MarkerOptions marker = new MarkerOptions (); marker.SetPosition (new LatLng (lat, lan)); map.AddMarker (marker); llMap.Background.SetAlpha (200); llMap.Click += LlMap_Click; tvnumber.SetTypeface (tf, TypefaceStyle.Normal); tvnumber.SetTypeface (tf2, TypefaceStyle.Normal); tvtime.SetTypeface (tf1, TypefaceStyle.Normal); tvreply.SetTypeface (tf1, TypefaceStyle.Normal); }
protected override void OnCreate(Bundle bundle) { base.OnCreate (bundle); SetContentView (Resource.Layout.map_activity); lat = Intent.GetDoubleExtra ("lat", 0); lan = Intent.GetDoubleExtra ("lan", 0); mapFrag = (MapFragment)FragmentManager.FindFragmentById (Resource.Id.map); map = mapFrag.Map; map.UiSettings.CompassEnabled = true; map.UiSettings.ZoomControlsEnabled = true; LatLng lastLatLng = new LatLng (lat, lan); map.MoveCamera (CameraUpdateFactory.NewLatLngZoom (lastLatLng, 15)); MarkerOptions marker = new MarkerOptions (); marker.SetPosition (new LatLng (lat, lan)); map.AddMarker (marker); }
public void adddatatomap() { LatLng loc0=new LatLng(-37.773250,175.250250); MarkerOptions opt0 = new MarkerOptions() //no semicolon .SetPosition(loc0) .SetRotation(45) .SetAlpha(.5f) .Draggable(true) .SetTitle("In the waikato") .SetIcon(BitmapDescriptorFactory.FromResource(Resource.Drawable.Icon)) .SetSnippet("The presence of this actually creates an infowindow"); // which is why the other marker does not have one map.AddMarker(opt0); MarkerOptions opt1 = new MarkerOptions(); double lat = Convert.ToDouble(Intent.GetStringExtra("Latitude")); double lng = Convert.ToDouble(Intent.GetStringExtra("Longitude")); string address = Intent.GetStringExtra("Address"); LatLng location = new LatLng(lat, lng); opt1.SetPosition(location); opt1.SetTitle(address); map.AddMarker(opt1); // Positioning the camera to show the marker CameraPosition.Builder builder = CameraPosition.InvokeBuilder(); builder.Target(location); builder.Zoom(15); builder.Bearing(90); builder.Tilt(65); CameraPosition cameraPosition = builder.Build(); CameraUpdate cameraUpdate = CameraUpdateFactory.NewCameraPosition(cameraPosition); map.MoveCamera(cameraUpdate); //marker window clicked event map.InfoWindowClick += map_InfoWindowClick; //marker dragged event map.MarkerDragEnd += map_MarkerDragEnd; // map.SetInfoWindowAdapter(this); // map.SetOnInfoWindowClickListener(this); //- implements the interface IOnInfoWindowclickListener }
protected override void OnAttached() { var mapView = Control as MapView; if(mapView == null) return; behavior = (MapExtensionBehavior) (Element as Map)?.Behaviors?.FirstOrDefault(x => x is MapExtensionBehavior); if(behavior == null) return; var zoomButton = mapView.FindViewById(1); // ズームボタン LinearLayout if(zoomButton != null) { zoomButton.Visibility = Android.Views.ViewStates.Invisible; } var locationButton = mapView.FindViewById(2); // 現在位置ボタン ImageView if(locationButton != null) { locationButton.Visibility = Android.Views.ViewStates.Invisible; } var callback = new OnMapReadyCallback(); callback.MapReady += (sender, e) => { googleMap = callback.GoogleMap; googleMap.MyLocationChange += GoogleMap_MyLocationChange; // なぜかCameraChangeにハンドラを追加するとXF.Maps.Map.VisibleRegionが更新されなくなる // googleMap.CameraChange += GoogleMap_CameraChange; var point = new LatLng( XFAedSearch.Droid.Helpers.Settings.Latitude, XFAedSearch.Droid.Helpers.Settings.Longitude); googleMap.MoveCamera(CameraUpdateFactory.NewLatLngZoom(point, XFAedSearch.Droid.Helpers.Settings.ZoomLevel)); googleMap.SetOnMapLoadedCallback(new MapLoadedCallback { OnMapLoadedAction = () => MapLoaded?.Invoke(this, new EventArgs()) }); }; mapView.GetMapAsync(callback); }
public void OnClick(int position, int buttonIndex) { if (position < GroupEntries.Count) { if (buttonIndex == 0) { // select the row (ListView.Adapter as GroupArrayAdapter).SetSelectedRow(position); // scroll it into view ListView.SmoothScrollToPosition(position); // hide all other marker windows (if showing) // go thru each marker and find the match, and then return it foreach (Android.Gms.Maps.Model.Marker currMarker in MarkerList) { currMarker.HideInfoWindow( ); } // validate the map because Google Play can error if (Map != null) { // center that map marker Android.Gms.Maps.Model.Marker marker = RowToMapMarker(position); marker.ShowInfoWindow( ); Android.Gms.Maps.Model.LatLng centerMarker = new Android.Gms.Maps.Model.LatLng(marker.Position.Latitude, marker.Position.Longitude); CameraUpdate camPos = CameraUpdateFactory.NewLatLngZoom(centerMarker, Map.CameraPosition.Zoom); Map.AnimateCamera(camPos, 250, null); } } else if (buttonIndex == 1) { // Ok! notify the parent they tapped Join, and it will launch the // join group fragment! It's MARCH, FRIDAY THE 13th!!!! OH NOOOO!!!! ParentTask.OnClick(this, position, GroupEntries[position]); Rock.Mobile.Util.Debug.WriteLine(string.Format("Join neighborhood group in row {0}", position)); } } else { GetAdditionalGroups( ); } }
protected override void OnCreate(Bundle bundle) { base.OnCreate (bundle); SetContentView (Resource.Layout.panorama); var lat = Intent.GetDoubleExtra ("lat", 37.7977); var lng = Intent.GetDoubleExtra ("lng", -122.40); latlng = new LatLng (lat, lng); streetViewPanoramaView = FindViewById<StreetViewPanoramaView> (Resource.Id.panorama); streetViewPanoramaView.OnCreate (bundle); streetViewPanoramaView.GetStreetViewPanoramaAsync (this); #if !DEBUG Xamarin.Insights.Track ("AppNav", new Dictionary<string,string> { { "page", "panorama" } }); #endif }
public void OnMapReady(GoogleMap googleMap) { if (ContextCompat.CheckSelfPermission(this, Manifest.Permission.AccessCoarseLocation) == Permission.Granted || ContextCompat.CheckSelfPermission(this, Manifest.Permission.AccessFineLocation) == Permission.Granted) { this.googleMap = googleMap; googleMap.MyLocationEnabled = true; LatLng latLng = new Android.Gms.Maps.Model.LatLng(location.currentLocation.Latitude, location.currentLocation.Longitude); CameraPosition cameraPosition = new CameraPosition.Builder().Target(latLng).Zoom(13).Build(); sourceMarkerOptions.SetPosition(latLng); googleMap.AnimateCamera(CameraUpdateFactory.NewCameraPosition(cameraPosition), 3000, null); } googleMap.UiSettings.ScrollGesturesEnabled = true; googleMap.UiSettings.ZoomGesturesEnabled = true; }
public override View OnCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { var pager = new ViewPager (inflater.Context) { Id = 0x34532, Adapter = new MonkeyPageAdapter (ChildFragmentManager), }; pager.PageSelected += async (sender, e) => { var map = (SupportMapFragment)FragmentManager.FindFragmentById (Resource.Id.map); var monkeyName = ((MonkeyPageAdapter)pager.Adapter).GetMonkeyAtPosition (e.Position); var location = await WikipediaApi.FetchHabitatLocation (monkeyName); var latLng = new Android.Gms.Maps.Model.LatLng (location.Item1, location.Item2); map.Map.AnimateCamera (CameraUpdateFactory.NewLatLng (latLng), 250, null); if (existingMarker != null) existingMarker.Remove (); existingMarker = map.Map.AddMarker (new MarkerOptions ().SetPosition (latLng)); }; return pager; }
public void OnLocationChanged(Location location) { _currentLocation = location; coord = new LatLng(location.Latitude, location.Longitude); CameraUpdate update = CameraUpdateFactory.NewLatLngZoom(coord, 17); map.AnimateCamera(update); if (currentLocationMarker != null) { currentLocationMarker.Position = coord; } else { var markerOptions = new MarkerOptions() .SetIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueBlue)) .SetPosition(coord) .SetTitle("Current Position") .SetSnippet("You are here"); currentLocationMarker = map.AddMarker(markerOptions); } }
public MapPageRenderer() { Subscribe(Messages.LOCATION_CHANGED, obj => { _location = obj as Core.Location; LatLng location = new LatLng(_location.Latitude, _location.Longitude); CameraPosition.Builder builder = CameraPosition.InvokeBuilder(); builder.Target(location); builder.Zoom(18); CameraPosition cameraPosition = builder.Build(); CameraUpdate cameraUpdate = CameraUpdateFactory.NewCameraPosition(cameraPosition); var activity = this.Context as Activity; MapFragment mapFrag = (MapFragment)activity.FragmentManager.FindFragmentById(Resource.Id.map); _map = mapFrag.Map; _map?.MoveCamera(cameraUpdate); var textview = _view.FindViewById<Android.Widget.TextView>(Resource.Id.textView); textview.Text = $"{_location.Latitude} , {_location.Longitude}"; }); }
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 (); }
private void InitializeMapAndHandlers() { SetUpMapIfNeeded(); if (Map != null) { Map.MyLocationEnabled = false; MyLocation = null; MyLastLocation = null; Lat = new LatLng (45.469303, 9.188106); MyLastLocation = MyLocation; OnLocationChanged (Lat); float[] distance = new float[2]; float[] newDistance = new float[2]; Map.MyLocationChange += (s, e) => { MyLastLocation = MyLocation; MyLocation = e.Location; if (MyLocation != null && MyLastLocation != null) { Location.DistanceBetween (MyLocation.Latitude, MyLastLocation.Latitude, MyLocation.Longitude, MyLocation.Latitude, distance); if (Math.Abs (newDistance [0] - distance [0]) >= 1F && Math.Abs (newDistance [1] - distance [1]) >= 1F) { Lat = new LatLng (MyLocation.Latitude, MyLocation.Longitude); OnLocationChanged (Lat); distance = newDistance; } } }; } else { SetUpMapIfNeeded (); } }
public void OnMapReady(GoogleMap googleMap) { globMap = googleMap; markerColor = new Dictionary<string, HamsterColor>(); foreach ( var a in ViewModel.Markers) { var markerOpt = new MarkerOptions(); double la = double.Parse(a.HamsterLatitude, System.Globalization.CultureInfo.InvariantCulture); double lon = double.Parse (a.HamsterLongitude, System.Globalization.CultureInfo.InvariantCulture); latlng = new LatLng (la, lon); markerOpt.SetPosition (latlng); markerOpt.SetTitle (String.Format("Name: {0} {1} ", a.FirstName, a.LastName)); markerOpt.SetSnippet (String.Format("Latitude: {0} Longitude: {1} ", a.HamsterLatitude, a.HamsterLongitude)); globMap.AddMarker(markerOpt); markerColor.Add(String.Format("{0}{1}",markerOpt.Title, markerOpt.Snippet), a.Color); } globMap.MyLocationEnabled = true; globMap.UiSettings.CompassEnabled = true; globMap.UiSettings.MapToolbarEnabled = false; globMap.UiSettings.ZoomControlsEnabled = true; globMap.UiSettings.MyLocationButtonEnabled = false; globMap.SetInfoWindowAdapter (this); }
public static LatLngBounds extendLimits(LatLngBounds bounds, int ratio) { double extendedLongitude = Math.Abs(bounds.Northeast.Longitude - bounds.Southwest.Longitude) / ratio; double extendedLatitude = Math.Abs(bounds.Northeast.Latitude - bounds.Southwest.Latitude) / ratio; LatLng topRight = null; LatLng bottomLeft = null; // Longitudes double topRightLongitude = bounds.Northeast.Longitude + extendedLongitude; double bottomLeftLongitude = bounds.Southwest.Longitude - extendedLongitude; // latitudes double topRightLatitude = bounds.Northeast.Latitude + extendedLatitude; double bottomLeftLatitude = bounds.Southwest.Latitude - extendedLatitude; topRight = new LatLng(topRightLatitude, topRightLongitude); bottomLeft = new LatLng(bottomLeftLatitude, bottomLeftLongitude); return new LatLngBounds(bottomLeft, topRight); }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { var pager = new ViewPager(inflater.Context) { Id = 0x34532, Adapter = new MonkeyPageAdapter(ChildFragmentManager), }; pager.PageSelected += async(sender, e) => { var map = (SupportMapFragment)FragmentManager.FindFragmentById(Resource.Id.map); var monkeyName = ((MonkeyPageAdapter)pager.Adapter).GetMonkeyAtPosition(e.Position); var location = await WikipediaApi.FetchHabitatLocation(monkeyName); var latLng = new Android.Gms.Maps.Model.LatLng(location.Item1, location.Item2); map.Map.AnimateCamera(CameraUpdateFactory.NewLatLng(latLng), 250, null); if (existingMarker != null) { existingMarker.Remove(); } existingMarker = map.Map.AddMarker(new MarkerOptions().SetPosition(latLng)); }; return(pager); }
private void PositionPolarBearGroundOverlay(LatLng position) { if (_polarBearOverlay == null) { BitmapDescriptor image = BitmapDescriptorFactory.FromResource(Resource.Drawable.polarbear); GroundOverlayOptions groundOverlayOptions = new GroundOverlayOptions() .Position(position, 150, 200) .InvokeImage(image); _polarBearOverlay = _map.AddGroundOverlay(groundOverlayOptions); PolygonOptions rectOptions = new PolygonOptions(); rectOptions.Add(position); rectOptions.Add(new LatLng(37.45, -122.0)); rectOptions.Add(new LatLng(37.45, -122.2)); rectOptions.Add(new LatLng(37.35, -122.2)); // notice we don't need to close off the polygon _map.AddPolygon(rectOptions); } else { _polarBearOverlay.Position = InMaui; } }
private void OnMyLocationChange(object sender, GoogleMap.MyLocationChangeEventArgs e) { if (JakDojade.Models.Options.AutoUpdateLocation) { var myLocation = e.Location; var myLatLng = new Android.Gms.Maps.Model.LatLng(myLocation.Latitude, myLocation.Longitude); if (myLocation == null) { Logger.Log("Brak sygna³u GPS."); MessagingCenter.Send(_myMap, "DisplayAlert", new AlertMessage("B³¹d", "Brak sygna³u GPS.")); return; } // Move existing marker. if (_startMarker != null) { _startMarker.Position = myLatLng; _startMarker.ShowInfoWindow(); } //_map.AnimateCamera(CameraUpdateFactory.NewLatLngZoom(myLatLng, DefaultZoom)); } }
private void OnMyLocationButtonClick(object sender, GoogleMap.MyLocationButtonClickEventArgs e) { var myLocation = GetMyLocation(); if (myLocation == null) { Logger.Log("Brak sygna³u GPS."); MessagingCenter.Send(_myMap, "DisplayAlert", new AlertMessage("B³¹d", "Brak sygna³u GPS.")); return; } var myLatLng = new Android.Gms.Maps.Model.LatLng(myLocation.Latitude, myLocation.Longitude); // Create new starting marker. if (_startMarker == null) { var marker = new MarkerOptions(); marker.SetPosition(myLatLng); marker.SetTitle("Od"); marker.Draggable(true); // TODO: Custom start icon. _startMarker = _map.AddMarker(marker); _startMarker.ShowInfoWindow(); } // Move existing marker. else { _startMarker.Position = myLatLng; _startMarker.ShowInfoWindow(); } _map.AnimateCamera(CameraUpdateFactory.NewLatLngZoom(myLatLng, DefaultZoom)); }
void UpdateMap(bool result) { if (GroupEntries.Count > 0) { // update our list and display SearchResultPrefix.Text = ConnectStrings.GroupFinder_Neighborhood; (ListView.Adapter as GroupArrayAdapter).SetSelectedRow(0); // for the map, ensure it's valid, because Google Play can fail if (Map != null) { Map.Clear( ); MarkerList.Clear( ); Android.Gms.Maps.Model.LatLngBounds.Builder builder = new Android.Gms.Maps.Model.LatLngBounds.Builder(); // add the source position Android.Gms.Maps.Model.MarkerOptions markerOptions = new Android.Gms.Maps.Model.MarkerOptions(); Android.Gms.Maps.Model.LatLng pos = new Android.Gms.Maps.Model.LatLng(SourceLocation.Latitude, SourceLocation.Longitude); markerOptions.SetPosition(pos); markerOptions.InvokeIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueGreen)); builder.Include(pos); Android.Gms.Maps.Model.Marker marker = Map.AddMarker(markerOptions); MarkerList.Add(marker); for (int i = 0; i < GroupEntries.Count; i++) { // add the positions to the map markerOptions = new Android.Gms.Maps.Model.MarkerOptions(); pos = new Android.Gms.Maps.Model.LatLng(GroupEntries[i].Latitude, GroupEntries[i].Longitude); markerOptions.SetPosition(pos); markerOptions.SetTitle(GroupEntries[i].Name); markerOptions.SetSnippet(string.Format("{0:##.0} {1}", GroupEntries[i].DistanceFromSource, ConnectStrings.GroupFinder_MilesSuffix)); builder.Include(pos); marker = Map.AddMarker(markerOptions); MarkerList.Add(marker); } Android.Gms.Maps.Model.LatLngBounds bounds = builder.Build( ); int paddingInPixels = Math.Min(View.Width, (int)(View.Height * .1f)); CameraUpdate camPos = CameraUpdateFactory.NewLatLngBounds(bounds, paddingInPixels); Map.AnimateCamera(camPos); // show the info window for the first (closest) group MarkerList[1].ShowInfoWindow( ); } } else { if (result == true) { // send the analytic and update our list SearchResultPrefix.Text = ConnectStrings.GroupFinder_NoGroupsFound; SearchResultNeighborhood.Text = string.Empty; (ListView.Adapter as GroupArrayAdapter).SetSelectedRow(-1); // validate the map before using. Google Play can error if (Map != null) { // no groups found, so move the camera to the default position Android.Gms.Maps.Model.LatLng defaultPos = new Android.Gms.Maps.Model.LatLng(ConnectConfig.GroupFinder_DefaultLatitude, ConnectConfig.GroupFinder_DefaultLongitude); CameraUpdate camPos = CameraUpdateFactory.NewLatLngZoom(defaultPos, ConnectConfig.GroupFinder_DefaultScale_Android); Map.AnimateCamera(camPos); } } else { // there was actually an error. Let them know. SearchResultPrefix.Text = ConnectStrings.GroupFinder_NetworkError; SearchResultNeighborhood.Text = string.Empty; } } }
public object FindCordinateAddress(Android.Gms.Maps.Model.LatLng position, bool returnFullAddress = false) { var result = UiServices.ReverseGeoCode(position.Latitude.ToString() + "," + position.Longitude.ToString(), returnFullAddress); return(result); }