/// <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) { } }
/// <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); }
//添加覆盖物并连线 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); } }