Пример #1
0
        /// <summary>
        /// 添加终端位置图标
        /// </summary>
        /// <param name="coord">坐标</param>
        /// <param name="image">图像</param>
        private void AddOverlay(Coordinate coord, string image, TerminalModel terminal)
        {
            try
            {
                if (map != null)
                {
                    var macker = new Pin
                    {
                        Title      = terminal.Name,
                        Coordinate = coord,
                        Animate    = true,
                        Draggable  = true,
                        Enabled3D  = true,
                        Image      = XImage.FromResource(image),
                        Terminal   = terminal
                    };

                    macker.Clicked += async(o, e) =>
                    {
                        if (e != null && e.Terminal != null)
                        {
                            await ViewModel?.NavigateAsync("VisitStorePage", ("Terminaler", e?.Terminal));
                        }
                    };
                    map.Pins.Add(macker);
                }
            }
            catch (Exception ex)
            { }
        }
Пример #2
0
        /// <summary>
        /// 添加覆盖物
        /// </summary>
        /// <param name="coord">坐标</param>
        /// <param name="image">图像</param>
        void AddOverlay(Coordinate coord, string image)
        {
            var annotation = new Pin
            {
                Coordinate = coord,
                Animate    = true,
                Draggable  = true,
                Enabled3D  = true,
                Image      = XImage.FromResource(image)
            };

            map.Pins.Add(annotation);
        }
Пример #3
0
        //添加覆盖物并连线
        void AddPin(Coordinate coord)
        {
            Pin annotation = new Pin
            {
                Title      = coord,
                Coordinate = coord,
                Animate    = true,
                Draggable  = true,
                Enabled3D  = true,
                Image      = XImage.FromResource("pin_purple.png")
            };

            map.Pins.Add(annotation);

            annotation.Drag += (o, e) =>
            {
                Pin self = o as Pin;
                self.Title = "区域1";//self.Coordinate;
                int i = map.Pins.IndexOf(self);

                if (map.Polylines.Count > 0 && i > -1)
                {
                    map.Polylines[0].Points[i] = self.Coordinate;
                }
            };

            annotation.Clicked += (_, e) =>
            {
                //Debug.WriteLine("clicked");
                ((Pin)_).Image = XImage.FromResource("q10660.png");
                // XImage.FromStream(typeof(FieldTrackPage).GetTypeInfo().Assembly.GetManifestResourceStream("Sample.Images.10660.png"));
            };

            if (map.Polylines.Count == 0 && map.Pins.Count > 1)
            {
                BaiduMaps.Polyline polyline = new BaiduMaps.Polyline
                {
                    Points = new ObservableCollection <Coordinate> {
                        map.Pins[0].Coordinate, map.Pins[1].Coordinate
                    },
                    Width = 4,
                    Color = Color.Purple
                };

                map.Polylines.Add(polyline);
            }
            else if (map.Polylines.Count > 0)
            {
                map.Polylines[0].Points.Add(annotation.Coordinate);
            }
        }