Exemplo n.º 1
0
        private void AgregarPinMapaPorBusqueda(Location pinLocation, object localidadSeleccionada)
        {
            // The pushpin to add to the map.
            ZMXUC_MapaPin pin = new ZMXUC_MapaPin();

            pin.ZMX_Color    = panelBusqueda.ZMX_Color;
            pin.ZMX_Location = pinLocation;

            if (panel_seBuscaOrigen)
            {
                pinOrigen            = pin;
                pinOrigen.ZMX_Height = tamOrigen;
                pinOrigen.ZMX_Icono  = Iconos.IconAwesomeSIZ.AwesomeIcons.fa_circle_o;
                pin_layer.AddChild(pin, pin.ZMX_Location);

                zmx_LocalidadOrigen = localidadSeleccionada;

                PropertyInfo piOrigen = ZMX_LocalidadOrigen.GetType().GetProperty(ZMX_PropiedadLocalidadNombre, BindingFlags.Instance | BindingFlags.Public);
                panelBusqueda.ZMX_SetLocalidadOrigen(piOrigen.GetValue(ZMX_LocalidadOrigen).ToString());

                ZMX_CambioUbicacionOrigen(this, ConvertCoordenadasLocationToString(pin.ZMX_Location), localidadSeleccionada);
            }
            else
            {
                pinDestino = pin;

                zmx_LocalidadDestino = localidadSeleccionada;

                pin_layer.AddChild(pin, pin.ZMX_Location);

                PropertyInfo piDestino = ZMX_LocalidadDestino.GetType().GetProperty(ZMX_PropiedadLocalidadNombre, BindingFlags.Instance | BindingFlags.Public);
                panelBusqueda.ZMX_SetLocalidadDestino(piDestino.GetValue(ZMX_LocalidadDestino).ToString());

                ZMX_CambioUbicacionDestino(this, ConvertCoordenadasLocationToString(pin.ZMX_Location), localidadSeleccionada);
            }

            if (pinOrigen != null && pinDestino != null)
            {
                ZMX_TrazarRutaPorPin();
            }

            panel_esPorBusquedaPanel = false;
        }
Exemplo n.º 2
0
        private void AgregarPinAMapa(Location pinLocation, object localidad)
        {
            if (!ZMX_PermiteMarcarPuntosEnMapa)
            {
                return;
            }

            if (ZMX_SeleccionoUbicacion != null)
            {
                ZMX_SeleccionoUbicacion(this, coordinateTostring(pinLocation));
                panel.ZMX_Coordenadas = coordinateTostring(pinLocation);
            }

            // The pushpin to add to the map.
            ZMXUC_MapaPin pin = new ZMXUC_MapaPin();

            pin.ZMX_Color    = panelBusqueda.ZMX_Color;
            pin.ZMX_Location = pinLocation;

            if (panelBusqueda.Visibility == Visibility.Visible)
            {
                if (pinOrigen != null && pinDestino != null)
                {
                    pin_layer.Children.Remove(pinOrigen);
                    pin_layer.Children.Remove(pinDestino);
                    pinOrigen            = null;
                    pinDestino           = null;
                    ZMX_LocalidadOrigen  = null;
                    ZMX_LocalidadDestino = null;
                    route_layer.Children.Clear();
                }


                if (pinOrigen == null)
                {
                    pinOrigen            = pin;
                    pinOrigen.ZMX_Height = tamOrigen;
                    pinOrigen.ZMX_Icono  = Iconos.IconAwesomeSIZ.AwesomeIcons.fa_circle_o;
                    pin_layer.AddChild(pin, pin.ZMX_Location);

                    zmx_LocalidadOrigen = localidad;

                    PropertyInfo piOrigen = ZMX_LocalidadOrigen.GetType().GetProperty(ZMX_PropiedadLocalidadNombre, BindingFlags.Instance | BindingFlags.Public);
                    panelBusqueda.ZMX_SetLocalidadOrigen(piOrigen.GetValue(ZMX_LocalidadOrigen).ToString());

                    ZMX_CambioUbicacionOrigen(this, ConvertCoordenadasLocationToString(pin.ZMX_Location), localidad);

                    return;
                }

                if (pinDestino == null)
                {
                    pinDestino = pin;

                    zmx_LocalidadDestino = localidad;

                    pin_layer.AddChild(pin, pin.ZMX_Location);

                    PropertyInfo piDestino = ZMX_LocalidadDestino.GetType().GetProperty(ZMX_PropiedadLocalidadNombre, BindingFlags.Instance | BindingFlags.Public);
                    panelBusqueda.ZMX_SetLocalidadDestino(piDestino.GetValue(ZMX_LocalidadDestino).ToString());

                    ZMX_CambioUbicacionDestino(this, ConvertCoordenadasLocationToString(pin.ZMX_Location), localidad);

                    ZMX_TrazarRutaPorPin();
                }
            }
            else
            {
                pin_layer.Children.Remove(pinOrigen);
                pin_layer.AddChild(pin, pin.ZMX_Location);
                pinOrigen = pin;
            }
        }