Exemple #1
0
        // it's event When User Tap On List To Draw The Selected Polygon
        private void DrawPolygonById(object sender, ItemTappedEventArgs e)
        {
            listPolygon.SelectedItem = null;
            Models.Polygon polygon = e.Item as Models.Polygon;
            Polygons = JsonConvert.DeserializeObject <FeatureCollection>(polygon.Coordinates);
            DrawPolygon();
            var pin = new Pin
            {
                Type     = PinType.Place,
                Position = new Position(polygon.Latitude, polygon.Longitude),
                Label    = " Cliked ",
                Address  = polygon.Latitude + " X " + polygon.Longitude,
            };

            pin.Position = new Position(polygon.Latitude, polygon.Longitude);
            map.Pins.Add(pin);
            tappedPage.CurrentPage = MapContent;
        }
Exemple #2
0
        private async void Map_OnTap(object sender, TapEventArgs e)
        {
            Position _position = new Position();

            _position = e.Position;
            var pin = new Pin
            {
                Type     = PinType.Place,
                Position = e.Position,
                Label    = " Cliked ",
                Address  = e.Position.Latitude + " X " + e.Position.Latitude,
            };

            //  Get Coordinates Polygon as json string then Deserialize it
            var jsonCoordinates = new Geojson().ReadGeoJson(pin);

            Polygons = JsonConvert.DeserializeObject <FeatureCollection>(jsonCoordinates);
            if (Polygons == null)
            {
                DependencyService.Get <SnackBar>().ShowSnackBar("There is no detected area");
                return;
            }
            map.Pins.Add(pin);
            DrawPolygon();
            string result = await DisplayPromptAsync("Info", "if you want to save this area ? enter name it",
                                                     "OK", "CANCEL", keyboard : Keyboard.Text);

            if (result != null)
            {
                Models.Polygon polygon = new Models.Polygon();
                polygon.PolygonName = result;
                polygon.Coordinates = jsonCoordinates;
                polygon.Latitude    = _position.Latitude;
                polygon.Longitude   = _position.Longitude;
                polygonViewModel.AddPolygon(polygon);
                listPolygon.ItemsSource = null;
                listPolygon.ItemsSource = polygonViewModel.Polygons;
            }
        }