private void VerClientes(Elemento vendedor) { foreach (var item in vendedor.Clientes) { if (item.Latitud != 0 && item.Longitud != 0) { var marcador = new GMapMarker(new PointLatLng(item.Latitud, item.Longitud)); Pin pin; if (vendedor.Posiciones.Any(p => p.Cliente == item.Codigo)) { pin = new PinVerde(); } else { pin = new PinAmarillo(); } pin.Tag = item; pin.Etiqueta = item.Orden.ToString(); marcador.Shape = pin; marcador.Offset = new Point(-pin.Width / 2, -pin.Height); this.map.Markers.Add(marcador); } } }
public static Pin CrearPinCliente(List <Posicion> posiciones, Cliente cli, bool imprimeRecorrido = true) { if (posiciones == null) { posiciones = new List <Posicion>(); } var motivo = MotivoNoCompra.Compra; Pin pin; if (cli.OrdenRecorrido == 0) { pin = new PinGris(); } else { if (posiciones.Any(p => p.Cliente == cli.Codigo)) { if (posiciones.Any(p => p.Cliente == cli.Codigo && p.MotivoNoCompra == MotivoNoCompra.Compra && p.PesosCompra > 0)) { pin = new PinVerde(); } else { pin = new PinRojo(); motivo = posiciones.LastOrDefault(p => p.Cliente == cli.Codigo).MotivoNoCompra; } } else { pin = new PinAmarillo(); } } if (imprimeRecorrido) { pin.Etiqueta = cli.OrdenRecorrido.ToString(); } else { pin.Etiqueta = cli.Codigo; } if (motivo != MotivoNoCompra.Compra) { pin.ToolTip = cli.ToString() + "\n" + motivo.ToString().SplitCC(); } else { pin.ToolTip = cli.ToString(); } var menuItem = new MenuItem(); menuItem.Header = cli.Observacion == string.Empty ? "Sin observaciones" : cli.Observacion; pin.Menu.Items.Add(menuItem); pin.Menu.UpdateLayout(); //if (ModoSeleccion == SelectionMode.Single) //{ // var menuMover = new MenuItem(); // menuMover.Header = "Ubicar manualmente en el mapa"; // menuMover.Command = this.CmdMoverUbicacionDeClienteManualmente; // menuMover.CommandParameter = marcador; // pin.Menu.Items.Add(menuMover); //} //var marcador = new GMapMarker(cli.Coordenada.Value); //marcador.Tag = cli; //marcador.Shape = pin; //marcador.Shape.IsHitTestVisible = true; //marcador.Offset = new Point(-pin.Width / 2, -pin.Height); //marcador.ZIndex = 3; return(pin); }