Exemplo n.º 1
0
        void DrawCircles(Point e)
        {
            if (circleOptionsInner == null)
            {
                circleOptionsInner = new CircleOptions().InvokeCenter(new LatLng(e.X, e.Y)).InvokeRadius(80).InvokeFillColor(Android.Graphics.Color.ParseColor("#0D15b8fe")).InvokeStrokeWidth(0);
                circleInner        = NativeMap.AddCircle(circleOptionsInner);
            }

            if (circleOptionsOuter == null)
            {
                circleOptionsOuter = new CircleOptions().InvokeCenter(new LatLng(e.X, e.Y)).InvokeRadius(350).InvokeFillColor(Android.Graphics.Color.ParseColor("#1A15b8fe")).InvokeStrokeWidth(0);
                circleOuter        = NativeMap.AddCircle(circleOptionsOuter);
            }

            if (firstLoad == true)
            {
                NativeMap.MoveCamera(CameraUpdateFactory.NewLatLngZoom(new LatLng(e.X, e.Y), 15.8f));
                var animation = new Animation(v => circleInner.Radius = v, 25, 200);
                animation.Commit(Xamarin.Forms.Application.Current.MainPage, "SimpleAnimation", 500, 2000, Easing.CubicOut, null, () => true);
                var fadeEffect = new Animation(v => circleInner.FillColor = Android.Graphics.Color.ParseColor(string.Format("#{0}15b8fe", ((int)(v < 0 ? 0 : v)).ToString("D2"))), 99, -20);
                fadeEffect.Commit(Xamarin.Forms.Application.Current.MainPage, "FadeAnimation", 500, 2000, Easing.Linear, null, () => true);
                firstLoad = false;
            }
            circleInner.Center = new LatLng(e.X, e.Y);
            circleOuter.Center = new LatLng(e.X, e.Y);
        }
Exemplo n.º 2
0
        private void HandleInfoWindowClick(object sender, GoogleMap.InfoWindowClickEventArgs e)
        {
            // Draw a circle on the map
            CircleOptions circleOptions = new CircleOptions();

            circleOptions.InvokeCenter(Location_NewYork);
            circleOptions.InvokeRadius(100000.0);
            circleOptions.InvokeFillColor(Android.Graphics.Color.White);
            _map.AddCircle(circleOptions);

            // Draw a polygon (Wyoming) on the map
            PolygonOptions polygonOptions = new PolygonOptions();

            polygonOptions.Add(new LatLng[]
            {
                new LatLng(45.00, -111.00),
                new LatLng(45, -104),
                new LatLng(41, -104),
                new LatLng(41, -111)
            });

            polygonOptions.InvokeFillColor(Android.Graphics.Color.Purple);
            polygonOptions.InvokeStrokeWidth(2);
            _map.AddPolygon(polygonOptions);
        }
Exemplo n.º 3
0
        public void updateCircle()
        {
            CustomMap customMap = (CustomMap)this.Element;

            if (customMap != null)
            {
                if (customMap.UserPin != null)
                {
                    if (circle != null)
                    {
                        circle.Remove();
                        circle.Dispose();
                    }
                    //moy
                    CircleOptions circleOptions = new CircleOptions();
                    circleOptions.InvokeCenter(new LatLng(customMap.UserPin.Position.Latitude, customMap.UserPin.Position.Longitude));
                    circleOptions.InvokeRadius(customMap.getDistanceUserTarget());
                    circleOptions.InvokeFillColor(Android.Graphics.Color.Argb(0, 0, 0, 0));
                    circleOptions.InvokeStrokeColor(Android.Graphics.Color.Argb(240, 250, 250, 250));
                    circleOptions.InvokeStrokeWidth(5f);

                    circle = map.AddCircle(circleOptions);
                }
            }
        }
Exemplo n.º 4
0
        public void UpdateRegionMap()
        {
            try
            {
                if (selectedTrap != null)
                {
                    if (circle != null)
                    {
                        circle.Remove();
                    }

                    LatLng position = new LatLng(lastLocation.Latitude, lastLocation.Longitude);

                    int fillColor = int.Parse("80f15f4b", System.Globalization.NumberStyles.HexNumber);

                    CircleOptions circleOptions = new CircleOptions();

                    circleOptions.InvokeCenter(position);
                    //circleOptions.InvokeRadius(selectedTrap.Trap.Meters);
                    circleOptions.InvokeFillColor(fillColor);
                    circleOptions.InvokeStrokeWidth(3);

                    circle = googleMap.AddCircle(circleOptions);
                }
            }
            catch (Exception exception)
            {
                InsightsUtils.LogException(exception);
            }
        }
Exemplo n.º 5
0
        protected override MarkerOptions CreateMarker(Pin pin)
        {
            if (pin is CirclePin)
            {
                //create an overlay circle, and add to map
                var circleOptions = new CircleOptions();
                circleOptions.InvokeCenter(new LatLng(pin.Position.Latitude, pin.Position.Longitude));
                circleOptions.InvokeRadius(PublishedData.PinOverlayRadius);
                circleOptions.InvokeFillColor(0X66FF0000);
                circleOptions.InvokeStrokeColor(0X66FF0000);
                circleOptions.InvokeStrokeWidth(0);
                Circle circle = NativeMap.AddCircle(circleOptions);
                (pin as CirclePin).Overlay = circle;
            }

            // marker,or pin.
            var marker = new MarkerOptions();

            marker.SetPosition(new LatLng(pin.Position.Latitude, pin.Position.Longitude));
            marker.Anchor(0.5f, 0.5f);// set anchor to to middle of icon
            marker.SetTitle(pin.Label);
            marker.SetSnippet(pin.Address);
            Bitmap imageBitmap = BitmapFactory.DecodeResource(Resources, Resource.Drawable.pin);
            Bitmap resizedIcon = Bitmap.CreateScaledBitmap(imageBitmap, 50, 50, false);

            marker.SetIcon(BitmapDescriptorFactory.FromBitmap(resizedIcon));

            return(marker);
        }
Exemplo n.º 6
0
        private void SetupOverlays()
        {
            // render a circle on the map
            CircleOptions circleOptions = new CircleOptions();

            circleOptions.InvokeCenter(AtlantaCoords);
            circleOptions.InvokeRadius(8000.0);
            circleOptions.InvokeFillColor(Android.Graphics.Color.Orange);
            _map.AddCircle(circleOptions);

            // render a polygon on the map
            PolygonOptions polygonOptions = new PolygonOptions();

            polygonOptions.Add(new LatLng[]
            {
                new LatLng(25.25, -80.27),
                new LatLng(32.14, -64.97),
                new LatLng(18.23, -66.56)
            });

            polygonOptions.InvokeFillColor(Android.Graphics.Color.Yellow);
            polygonOptions.InvokeStrokeWidth(8);
            _map.AddPolygon(polygonOptions);

            // overlay images at physical size: _map.AddGroundOverlay
        }
Exemplo n.º 7
0
        private void CircleDemo(HuaweiMap hMap)
        {
            hMap.Clear();

            Circle        circle1;
            LatLng        circle1LatLng  = new LatLng(41.01019, 28.974475);
            CircleOptions circle1Options = new CircleOptions();

            circle1Options.InvokeCenter(circle1LatLng);
            circle1Options.InvokeRadius(1600);
            circle1Options.InvokeStrokeWidth(5);
            circle1Options.InvokeStrokeColor(Color.Blue);
            circle1Options.InvokeFillColor(Color.Argb(60, 0, 0, 255));
            circle1Options.Clickable(true);
            circle1Options.InvokeZIndex(2);
            circle1 = hMap.AddCircle(circle1Options);

            Circle        circle2;
            LatLng        circle2LatLng  = new LatLng(41.01563, 29.052667);
            CircleOptions circle2Options = new CircleOptions();

            circle2Options.InvokeCenter(circle2LatLng);
            circle2Options.InvokeRadius(5000);
            circle2Options.InvokeStrokeWidth(10);
            circle2Options.InvokeStrokeColor(Color.OrangeRed);
            circle2Options.InvokeFillColor(Color.Argb(60, 255, 200, 0));
            circle2Options.Clickable(true);
            circle2Options.InvokeZIndex(1);
            circle2 = hMap.AddCircle(circle2Options);
        }
Exemplo n.º 8
0
        private async void SetupGeofence(string location)
        {
            // sets up the geofence using the coordinates or the location search
            //make sure when testing you put a valid address so be mindful of spelling
            // also try to use an address close to your current location
            LatLng coord = await GetCoordinate(location);

            if (coord != null)
            {
                CircleOptions circleOptions = new CircleOptions()
                                              .InvokeCenter(coord)
                                              .InvokeFillColor(missColor)
                                              .InvokeRadius(50);
                var circle = mMap.AddCircle(circleOptions);

                //TODO addproximityalert method
                AddProximityAlert(
                    coord.Latitude, coord.Longitude, location,
                    _ => circle.FillColor = hitColor,
                    requestId =>
                {
                    circle.FillColor = missColor;
                    RemoveProximityAlert(requestId, circle);
                });
            }
        }
Exemplo n.º 9
0
        public void OnLocationChanged(Location location)
        {
            Location currentLocation = location;

            myLocation = location;
            if (currentLocation == null)
            {
                Console.WriteLine("Unable to determine your location. Try again in a short while.");
            }
            else
            {
                Console.WriteLine(string.Format("{0:f6},{1:f6}", currentLocation.Latitude, currentLocation.Longitude));
                myLocation = location;

                if (positionMarker != null)
                {
                    positionMarker.Remove();
                }
                var circleOptions = new CircleOptions();
                circleOptions.InvokeCenter(new LatLng(location.Latitude, location.Longitude));
                circleOptions.InvokeRadius(20);
                circleOptions.InvokeFillColor(0X66FF0000);
                circleOptions.InvokeStrokeColor(0X66FF0000);
                circleOptions.InvokeStrokeWidth(0);
                //positionMarker = mMap.AddCircle(circleOptions);
            }
        }
Exemplo n.º 10
0
        public void SetCurrentLocationMarker()
        {
            if (Map != null)
            {
                if (CurrentLocation != null)
                {
                    if (CurrentLocationMarker == null)
                    {
                        MarkerOptions markerOpt = new MarkerOptions()
                                                  .SetIcon(BitmapDescriptorFactory.FromResource(Resource.Drawable.ic_current_location_marker))
                                                  .SetPosition(new LatLng(CurrentLocation.Latitude, CurrentLocation.Longitude));
                        markerOpt.Anchor((float)0.5, (float)0.5);
                        CurrentLocationMarker = Map.AddMarker(markerOpt);

                        CircleOptions circleOpt = new CircleOptions()
                                                  .InvokeRadius(6)
                                                  .InvokeCenter(new LatLng(0, 0))
                                                  .InvokeStrokeColor((new Color(0, 0, 0, 255)).ToArgb())
                                                  .InvokeStrokeWidth((float)0.5)
                                                  .InvokeFillColor((new Color(0, 191, 255, 100).ToArgb()));
                        CurrentLocationAccuracy = Map.AddCircle(circleOpt);
                    }
                    CurrentLocationMarker.Position = new LatLng(CurrentLocation.Latitude, CurrentLocation.Longitude);
                    CurrentLocationAccuracy.Radius = CurrentLocation.Accuracy;
                    CurrentLocationAccuracy.Center = new LatLng(CurrentLocation.Latitude, CurrentLocation.Longitude);
                }
            }
        }
        /// <summary>
        ///     Add three markers to the map.
        /// </summary>


        void HandleInfoWindowClick(object sender, GoogleMap.InfoWindowClickEventArgs e)
        {
            var circleOptions = new CircleOptions();

            circleOptions.InvokeCenter(InMaui);
            circleOptions.InvokeRadius(100.0);
        }
Exemplo n.º 12
0
        protected override void OnMapReady(GoogleMap map)
        {
            base.OnMapReady(map);

            var polylineOptions = new PolylineOptions();

            polylineOptions.InvokeColor(0x702418ff);

            foreach (var position in routeCoordinates)
            {
                polylineOptions.Add(new LatLng(position.Latitude, position.Longitude));
            }

            NativeMap.AddPolyline(polylineOptions);

            foreach (Bus bus in BusList.busList)
            {
                if (bus.route == "blue")
                {
                    CircleOptions circleOptions = new CircleOptions();
                    circleOptions.InvokeCenter(new LatLng(bus.lat, bus.lng));
                    circleOptions.InvokeRadius(30);
                    circleOptions.InvokeFillColor(0X700000ff);
                    circleOptions.InvokeStrokeColor(0X70FFFFFF);
                    circleOptions.InvokeStrokeWidth(5);

                    NativeMap.AddCircle(circleOptions);
                }
            }
        }
Exemplo n.º 13
0
        public void OnMapReady(GoogleMap googleMap)
        {
            map = googleMap;

            if (!isCircle)
            {
                var polylineOptions = new PolylineOptions();
                polylineOptions.InvokeColor(0x66FF0000);

                foreach (var position in routeCoordinates)
                {
                    polylineOptions.Add(new LatLng(position.Latitude, position.Longitude));
                }

                map.AddPolyline(polylineOptions);
            }
            if (isCircle)
            {
                var circleOptions = new CircleOptions();
                circleOptions.InvokeCenter(new LatLng(circle.Position.Latitude, circle.Position.Longitude));
                circleOptions.InvokeRadius(circle.Radius);
                circleOptions.InvokeFillColor(0X00FFFFFF);
                circleOptions.InvokeStrokeColor(0X66FF0000);
                circleOptions.InvokeStrokeWidth(3);
                map.AddCircle(circleOptions);
            }
        }
Exemplo n.º 14
0
        private void AddClusterItems(Location currentLocation)
        {
            var items = new List <ClusterItem>();

            // Add current location to the cluster list
            var currentMarker = new MarkerOptions();
            var me            = new LatLng(currentLocation.Latitude, currentLocation.Longitude);

            currentMarker.SetPosition(me);
            var meMarker = new CircleOptions();

            meMarker.InvokeCenter(me);
            meMarker.InvokeRadius(32);
            meMarker.InvokeStrokeWidth(0);
            meMarker.InvokeFillColor(ContextCompat.GetColor(BaseContext, Android.Resource.Color.HoloBlueLight));
            _googleMap.AddCircle(meMarker);
            items.Add(new ClusterItem(currentLocation.Latitude, currentLocation.Longitude));

            // Create a log. spiral of markers to test clustering
            for (int i = 0; i < 20; ++i)
            {
                var t = i * Math.PI * 0.33f;
                var r = 0.005 * Math.Exp(0.1 * t);
                var x = r * Math.Cos(t);
                var y = r * Math.Sin(t);
                items.Add(new ClusterItem(currentLocation.Latitude + x, currentLocation.Longitude + y));
            }
            _clusterManager.AddItems(items);
        }
Exemplo n.º 15
0
        void AddCircles(IList circles)
        {
            var map = NativeMap;

            if (map == null)
            {
                return;
            }

            if (_circles == null)
            {
                _circles = new List <ACircle>();
            }

            _circles.AddRange(circles.Cast <Circle>().Select(circle =>
            {
                var opts = new CircleOptions();

                opts.InvokeCenter(new LatLng(circle.Center.Latitude, circle.Center.Longitude));
                opts.InvokeRadius(circle.Radius.Meters);
                opts.InvokeStrokeWidth(circle.StrokeWidth * _scaledDensity); // TODO: convert from px to pt. Is this collect? (looks like same iOS Maps)
                opts.InvokeStrokeColor(circle.StrokeColor.ToAndroid());
                opts.InvokeFillColor(circle.FillColor.ToAndroid());
                //opts.Clickable(circle.IsClickable);

                var nativeCircle = map.AddCircle(opts);

                // associate pin with marker for later lookup in event handlers
                circle.Id = nativeCircle;
                return(nativeCircle);
            }));
        }
Exemplo n.º 16
0
        /// <summary>
        /// Create a bunch of circles, put them into a dictionary with reference ids and display them on the map.
        /// </summary>
        private async void CreateBunchOfCircles()
        {
            int howMany = this.bunchsize;
            var bounds  = await this.map1.InteropObject.GetBounds();

            double maxRadius = (bounds.North - bounds.South) * 111111.0 / (10 + Math.Sqrt(howMany));
            var    colors    = new string[] { "#FFFFFF", "#9132D1", "#FFD800", "#846A00", "#AAC643", "#C96A00", "#B200FF", "#CD6A00", "#00A321", "#7F6420", };
            var    rnd       = new Random();

            for (int i = 0; i < howMany; i++)
            {
                var color         = colors[rnd.Next(0, colors.Length)];
                var circleOptions = new CircleOptions {
                    Map    = this.map1.InteropObject,
                    Center = new LatLngLiteral {
                        Lat = bounds.South + rnd.NextDouble() * (bounds.North - bounds.South), Lng = bounds.West + rnd.NextDouble() * (bounds.East - bounds.West)
                    },
                    Radius        = (rnd.NextDouble() + 0.2) / 1.2 * maxRadius,
                    StrokeColor   = color,
                    StrokeOpacity = 0.60f,
                    StrokeWeight  = 2,
                    FillColor     = color,
                    FillOpacity   = 0.35f,
                    Visible       = true,
                    ZIndex        = 1000000,
                };
                this.circleOptionsByRef[(++this.lastId).ToString()] = circleOptions;
            }
            await this.RefreshCircleList();
        }
Exemplo n.º 17
0
        private void BuildCircle(CircleOptions circle)
        {
            Log.Debug("BuildCircle", "Building circle");

            gameActivity.circle = gameActivity.googleMap.AddCircle(circle);

            gameActivity.circle.FillColor = Color.HSVToColor(new float[] { BitmapDescriptorFactory.HueRed, 1.0f, 1.0f });
        }
Exemplo n.º 18
0
        private void DrawCircle()
        {
            CircleOptions circleOptions = new CircleOptions();

            circleOptions.InvokeCenter(new LatLng(30.679879, 104.064855));
            circleOptions.InvokeRadius(9000);
            circleOptions.InvokeStrokeColor(Color.Black);
            circleOptions.InvokeFillColor(Color.Transparent);
            circleOptions.InvokeStrokeWidth(3);
            aMap.AddCircle(circleOptions);
        }
Exemplo n.º 19
0
        public void OnMapLoaded(GoogleMap googleMap)
        {
            var circleOptions = new CircleOptions();

            circleOptions.InvokeCenter(new LatLng(this.circle.Position.Latitude, this.circle.Position.Longitude));
            circleOptions.InvokeRadius(this.circle.Radius);
            //circleOptions.InvokeFillColor(0X66FF0000);
            circleOptions.InvokeStrokeColor(0X66FF0000);
            circleOptions.InvokeStrokeWidth(3);

            map.AddCircle(circleOptions);
        }
Exemplo n.º 20
0
        void Android.Gms.Location.ILocationListener.OnLocationChanged(Location location)
        {
            double lat, lng;

            lat = location.Latitude;
            lng = location.Longitude;
            TextView search_txt = FindViewById <TextView>(Resource.Id.search_txt);

            mCurrentLocation = location;
            UpdateUI();
            mMap.Clear();
            LatLng mGoogleApiClient = new LatLng(lat, lng);

            CameraPosition.Builder builder = CameraPosition.InvokeBuilder();
            builder.Target(mGoogleApiClient);
            builder.Zoom(14);
            CameraPosition cameraPosition = builder.Build();
            CameraUpdate   cameraUpdate   = CameraUpdateFactory.NewCameraPosition(cameraPosition);

            if (mMap != null)
            {
                mMap.AnimateCamera(CameraUpdateFactory.NewCameraPosition(cameraPosition));
            }
            Log.Debug(GetType().FullName, "OnLocationChanged = - Adresse" + " " + search_txt.Text + " " + lat + " " + lng);

            CircleOptions circleOptions = new CircleOptions();

            circleOptions.InvokeCenter(new LatLng(lat, lng));
            circleOptions.InvokeRadius(200);                                               // RAYON DU CERCLE
            circleOptions.InvokeStrokeWidth(4);                                            // EPAISSEUR DU TRIT DU CERCLE
            circleOptions.InvokeStrokeColor(Android.Graphics.Color.ParseColor("#75C043")); // Cercle Couleur
            Circle newCircle = mMap.AddCircle(circleOptions);

            newCircle.Visible = true;

            string URL_GetTaxis = "GetTaxis";
            Dictionary <string, string> parameters = new Dictionary <string, string>();

            parameters.Add("lat", lat.ToString().Replace(',', '.'));
            parameters.Add("longi", lng.ToString().Replace(',', '.'));
            var JsonRetour = taxisController.POST(URL_GetTaxis, parameters);
            var retour     = JsonConvert.DeserializeObject <ReturnData>(JsonRetour);

            for (int i = 0; i < retour.Data.taxiData.Length; i++)
            {
                var marker = new MarkerOptions()
                             .SetPosition(new LatLng((double)retour.Data.taxiData[i].Position.Lat, (double)retour.Data.taxiData[i].Position.Lon))
                             .Anchor(0.5f, 0.5f)
                             .SetIcon(BitmapDescriptorFactory.FromResource(Resource.Mipmap.marker_taxi))
                             .SetTitle(search_txt.Text);
                mMap.AddMarker(marker);
            }
        }
Exemplo n.º 21
0
        protected override BMap.Circle CreateNativeItem(BaiduMaps.Circle item)
        {
            CircleOptions options = new CircleOptions()
                                    .InvokeCenter(item.Coordinate.ToNative())
                                    .InvokeRadius((int)item.Radius)
                                    .InvokeStroke(new Stroke(item.Width, item.Color.ToAndroid()))
                                    .InvokeFillColor(item.FillColor.ToAndroid());

            BMap.Circle circle = (BMap.Circle)NativeMap.Map.AddOverlay(options);
            item.NativeObject = circle;

            return(circle);
        }
Exemplo n.º 22
0
        private void DrawBlueDot()
        {
            CircleOptions circleOptions = new CircleOptions();

            circleOptions.InvokeCenter(new LatLng(currentLocation.Latitude, currentLocation.Longitude));
            circleOptions.InvokeRadius(5);
            circleOptions.InvokeFillColor(Color.CadetBlue);
            circleOptions.InvokeStrokeColor(Color.White);
            circleOptions.InvokeStrokeWidth(2);
            circleOptions.InvokeZIndex(1);

            blueDot = _map.AddCircle(circleOptions);
        }
Exemplo n.º 23
0
        public void OnMapReady(GoogleMap googleMap)
        {
            map = googleMap;

            var circleOptions = new CircleOptions();

            circleOptions.InvokeCenter(new LatLng(circle.Position.Latitude, circle.Position.Longitude));
            circleOptions.InvokeRadius(circle.Radius);
            circleOptions.InvokeFillColor(0X66FF0000);
            circleOptions.InvokeStrokeColor(0X66FF0000);
            circleOptions.InvokeStrokeWidth(0);
            map.AddCircle(circleOptions);
        }
Exemplo n.º 24
0
        public void SetCircle()
        {
            Log.Debug("SetCircle", "Setting circle positions");

            CircleOptions circleOptions = new CircleOptions();

            double radius = Static.Maths.ShortestLineSegment(gameActivity.gamePlayArea.vertices) * 5000;

            circleOptions.InvokeCenter(FindCirclePosition(gameActivity.gamePlayArea.vertices, radius));
            circleOptions.InvokeRadius(radius);

            BuildCircle(circleOptions);
        }
Exemplo n.º 25
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            RequestWindowFeature(WindowFeatures.NoTitle);
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.SearchJourney);

            #region setup map markers
            currentLocation = new MarkerOptions();
            currentLocation.SetTitle("Current Position");
            currentLocation.SetIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueBlue));
            currentLocation.SetPosition(getCurrentPosition());
            currentLocation.Visible(false);

            fromLocation = new MarkerOptions();
            fromLocation.SetTitle("From Here");
            fromLocation.SetIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueRed));
            fromLocation.SetPosition(getCurrentPosition());
            fromLocation.Visible(false);

            toLocation = new MarkerOptions();
            toLocation.SetTitle("To Here");
            toLocation.SetIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueGreen));
            toLocation.SetPosition(getCurrentPosition());
            toLocation.Visible(false);

            fromCircleOp = new CircleOptions();
            fromCircleOp.InvokeCenter(getCurrentPosition());
            fromCircleOp.InvokeRadius(1000);
            fromCircleOp.InvokeFillColor(0X66FF0000);
            fromCircleOp.InvokeStrokeColor(0X66FF0000);
            fromCircleOp.InvokeStrokeWidth(0);
            fromCircleOp.Visible(false);


            toCircleOp = new CircleOptions();
            toCircleOp.InvokeCenter(getCurrentPosition());
            toCircleOp.InvokeRadius(1000);
            toCircleOp.InvokeFillColor(Color.Green);
            toCircleOp.InvokeStrokeColor(Color.Green);
            toCircleOp.InvokeStrokeWidth(0);
            toCircleOp.Visible(false);
            #endregion

            // Create your application here
            InitMapFragment();
            SetupCurrentLocationButton();
            SetupSearchButton();
            SetupSetFromButton();
            SetupSetToButton();
            SetupForm();
        }
        protected override void OnMapReady(Android.Gms.Maps.GoogleMap map)
        {
            base.OnMapReady(map);

            var circleOptions = new CircleOptions();

            circleOptions.InvokeCenter(new LatLng(circle.Position.Latitude, circle.Position.Longitude));
            circleOptions.InvokeRadius(circle.Radius);
            circleOptions.InvokeFillColor(0X66FF0000);
            circleOptions.InvokeStrokeColor(0X66FF0000);
            circleOptions.InvokeStrokeWidth(0);

            NativeMap.AddCircle(circleOptions);
        }
        private void AddClusterItems(GoogleMap map, HelperHomeModel h)
        {
            var items = new List <MyItem>();

            // Add current location to the cluster list
            var currentMarker = new MarkerOptions();
            var me            = new LatLng(h.Latitude, h.Longitude);

            currentMarker.SetPosition(me);
            var meMarker = new CircleOptions();

            meMarker.InvokeCenter(me);
            meMarker.InvokeRadius(32);
            meMarker.InvokeStrokeWidth(10);
            meMarker.InvokeFillColor(ContextCompat.GetColor(Context, Android.Resource.Color.HoloRedLight));
            map.AddCircle(meMarker);
            items.Add(new MyItem(h.Latitude, h.Longitude));

            // Create a log. spiral of markers to test clustering
            for (int i = 1; i < customMap.helperList.Count; i++)
            {
                var hi = customMap.helperList.ElementAt(i);
                var t  = i * Math.Pi * 0.33f;
                var r  = 0.005 * Math.Exp(0.1 * t);
                var x  = r * Math.Cos(t);
                var y  = r * Math.Sin(t);
                items.Add(new MyItem(hi.Latitude + x, hi.Longitude + y));
            }
            mClusterManager.AddItems(items);
            /*****************************************************************/

            // Set some lat/lng coordinates to start with.

            /*double lat = 51.5145160;
             * double lng = -0.1270060;
             *
             * // Add ten cluster items in close proximity, for purposes of this example.
             * for (int i = 1; i < customMap.helperList.Count; i++)
             * {
             *
             *  var h = customMap.helperList.ElementAt(i);
             *  double offset = i / 60d;
             *  lat = h.Latitude + offset;
             *  lng = h.Longitude + offset;
             *  MyItem offsetItem = new MyItem(lat, lng);
             *  mClusterManager.AddItem(offsetItem);
             *
             * }*/
        }
Exemplo n.º 28
0
        public void CreateCircle(Circle circle)
        {
            if (circle == null)
            {
                return;
            }
            var circleOptions = new CircleOptions();

            circleOptions.InvokeCenter(new LatLng(circle.Position.Latitude, circle.Position.Longitude));
            circleOptions.InvokeRadius(circle.Radius);
            circleOptions.InvokeFillColor(0X00FFFFFF);
            circleOptions.InvokeStrokeColor(0X66FF0000);
            circleOptions.InvokeStrokeWidth(3);
            map.AddCircle(circleOptions);
        }
Exemplo n.º 29
0
        /// <summary>
        /// Adds a bubble that reflects the expiry range of a helicopter carrying organ
        /// </summary>
        /// <param name="heliPin"></param>
        private void addOrganRange(CustomPin heliPin)
        {
            var circleOptions = new CircleOptions();

            circleOptions.InvokeCenter(new LatLng(heliPin.Position.Latitude, heliPin.Position.Longitude));

            // TODO adjust to organ countdown
            circleOptions.InvokeRadius(40000);

            circleOptions.InvokeFillColor(0X660000FF);
            circleOptions.InvokeStrokeColor(0X660000FF);
            circleOptions.InvokeStrokeWidth(0);

            highlightedOrganRange = new Tuple <CustomPin, Circle>(heliPin, NativeMap.AddCircle(circleOptions));
        }
Exemplo n.º 30
0
		protected virtual CircleOptions CreateCircleOptions(Circle circle)
		{
			var opts = new CircleOptions()
				.InvokeCenter(new LatLng(circle.Center.Latitude, circle.Center.Longitude))
				.InvokeRadius(circle.Radius.Meters)
				.InvokeStrokeWidth(circle.StrokeWidth);

			if (!circle.StrokeColor.IsDefault)
				opts.InvokeStrokeColor(circle.StrokeColor.ToAndroid());

			if (!circle.FillColor.IsDefault)
				opts.InvokeFillColor(circle.FillColor.ToAndroid());

			return opts;
		}