예제 #1
0
파일: Form1.cs 프로젝트: hjgqx996/gtracker
        /**
         * Verifica se o veiculo se encontra dentro da cerca para liberacao da trava
         */
        private void lckMng()
        {
            Telemetria telemetria = trackerController.getTelemetria();

            if (telemetria != null)
            {
                if (telemetria.IsInsideOfFence())
                {
                    trackerController.lockVehicle(lockVehicle);
                }
                else
                {
                    trackerController.lockVehicle(true);
                }
            }
        }
예제 #2
0
파일: Form1.cs 프로젝트: hjgqx996/gtracker
        /*
         * Atualiza as informacoes na tela sobre a cerca virtual
         */
        void updateStatusFence()
        {
            Telemetria telemetria = trackerController.getTelemetria();

            if (telemetria == null)
            {
                lFence.BackColor   = Color.Gray;
                btn_unlock.Enabled = false;
            }
            else if (telemetria.IsInsideOfFence())
            {
                lFence.BackColor   = Color.Green;
                btn_unlock.Enabled = true;
            }
            else
            {
                lFence.BackColor   = Color.Red;
                btn_unlock.Enabled = false;
            }
        }
예제 #3
0
        internal bool PointIsInsidePolygon(Telemetria data)
        {
            bool ret = false;

            if (data != null)
            {
                PointLatLng p = new PointLatLng(data.Latitude, data.Longitude);

                int i = 0;

                foreach (GMapPolygon poly in mapOverlay.Polygons)
                {
                    data.setInsideOfFence(i++, poly.IsInside(p));

                    if (data.IsInsideOfFence())
                    {
                        ret = true;
                    }
                }
            }

            return(ret);
        }