Beispiel #1
0
        /// <summary>
        /// Hàm này để đặt lại mọi trạng thái điều kiện
        /// </summary>
        private void ResetFlag()
        {
            //For Router        
            driverGeocodeQuery = null;
            driverQuery = null;
            driverMapRoute = null;
            driverRoute = null;

            //For get Current Location
            driverFirstGeolocator = null;
            driverFirstGeoposition = null;
            driverMapOverlay = null;
            driverMapLayer = null;

            //For Router        
            driverGeocodeQuery = null;
            driverQuery = null;
            driverMapRoute = null;
            driverRoute = null;

            //For get Current Location
            driverFirstGeolocator = null;
            driverFirstGeoposition = null;
            driverMapOverlay = null;
            driverMapLayer = null;

            //Rider Destination Icon Overlay
            driverDestinationIconOverlay = null;

            //For Update Current Location
            currentLat = 0;
            currentLng = 0;
            countForUpdateLocation = 0;

            //For trip
            newTrip = null;
            myTrip = null;

            //For Trip Complete
            startLatitude = 0;
            startLongitude = 0;
            endLatitude = 0;
            endLongitude = 0;
            isTrack = false;
            estimateCost = 0;
            totalFare = 0;

            //For Distance
            distanceKm = 0;

            //mySelectedVehicle = null;
            if (tNetTripData != null)
            {
                tNetTripData = null;
            }

            //for complete trip
            completeTrip = null;

            //For continous tracking on map
            fiveStepBeforeLat = 0;
            fiveStepBeforeLng = 0;
            fiveStepAfterLat = 0;
            fiveStepAfterLng = 0;
            //driverMapTrackerQuery = null;
            //driverMapTrackerRoute = null;
            isTrackingRoute = false;
            countTracking = 0;
            //driverMapTrakerLayer = null;
            //driverMapTrackerOverlay = null;

            isCalculateFare = false;

            realDistance = 0;
            realFare = 0;
            isFinishTrip = false;

            isTrakingStated = false;

            txt_DistanceKm.Text = "0.0 (km)";
            txt_PricePerDistance.Text = "0.000 (đ)";
            txt_TotalPrice.Text = "0.000 (đ)";            
        }
Beispiel #2
0
        /// <summary>
        /// HÀM NÀY ĐƯỢC GỌI NGAY KHI CÓ THÔNG BÁO MỚI
        /// </summary>
        private async void ShowNotificationNewTrip()
        {
            //Chạy âm thanh thông báo và rung điện thoại
            TouchFeedback();
            Alert_Trip_New();

            //Hiển thị Grid thông tin Trip lên màn hình
            ShowAcceptRejectGrid();
            //Đồng thời hiện thị Loading Grid screen
            ShowLoadingGridScreen();

            var input = notificationReceivedString;
            newTrip = new DriverNewtripNotification();
            try
            {
                newTrip = JsonConvert.DeserializeObject<DriverNewtripNotification>(input); //Tạo đối tượng NewTrip từ Json Input
                var addressString = await GoogleAPIFunctions.ConvertLatLngToAddress(newTrip.sLat, newTrip.sLng);
                var address = JsonConvert.DeserializeObject<GoogleAPIAddressObj>(addressString);

                if (newTrip != null)
                {
                    ///1. Nạp thông tin lên grid
                    ///2. tắt Loading grid screen
                    ///3. Hiển thị vị trí khách hàng có yêu cầu 

                    //1. Nạp thông tin lên grid
                    txt_RiderAddress.Text = address.results[0].formatted_address.ToString();
                    txt_RiderMobile.Text = newTrip.mobile;
                    txt_RiderName.Text = newTrip.rName;

                    //2. tắt Loading grid screen
                    HideLoadingGridScreen();

                    //3. Hiển thị vị trí khách hàng có yêu cầu 
                    //(Nếu như có tọa độ điểm cuối)
                    if (newTrip.eLat != 0 && newTrip.eLng != 0)
                    {

                        var myTempCoordinate = await GetCurrentPosition.GetGeoCoordinate();
                        GetRouteOnMap(myTempCoordinate, new GeoCoordinate(newTrip.sLat, newTrip.sLng));
                        //4. Căn giữa hai điểm đầu cuối
                        //map_DriverMap.SetView(new GeoCoordinate((myTempCoordinate.Latitude + newTrip.sLat) / 2, (myTempCoordinate.Longitude + newTrip.sLng) / 2), 14, MapAnimationKind.Parabolic);
                        double distance = await GoogleAPIFunctions.GetDistance(myTempCoordinate.Latitude, myTempCoordinate.Longitude, newTrip.eLat, newTrip.eLng);
                        //Cái này để fit maproute lên màn hình
                        if (5 > (double)distance)
                        {
                            map_DriverMap.SetView(new GeoCoordinate((myTempCoordinate.Latitude + newTrip.sLat) / 2, (myTempCoordinate.Longitude + newTrip.sLng) / 2), 16, MapAnimationKind.Parabolic);
                        }
                        else if (20 < (double)distance)
                        {
                            map_DriverMap.SetView(new GeoCoordinate((myTempCoordinate.Latitude + newTrip.sLat) / 2, (myTempCoordinate.Longitude + newTrip.sLng) / 2), 10, MapAnimationKind.Parabolic);
                        }
                        else
                        {
                            map_DriverMap.SetView(new GeoCoordinate((myTempCoordinate.Latitude + newTrip.sLat) / 2, (myTempCoordinate.Longitude + newTrip.sLng) / 2), 14, MapAnimationKind.Parabolic);
                        }


                    }
                }
                else
                {
                    MessageBox.Show("(Mã lỗi 3309) " + ConstantVariable.errHasErrInProcess);
                }

            }
            catch (Exception)
            {

                MessageBox.Show("(Mã lỗi 309) " + ConstantVariable.errHasErrInProcess);
            }
        }
Beispiel #3
0
 private void DeleteTrip()
 {
     Debug.WriteLine("Đã xóa dữ liệu chuyến đi");
     myTrip = null;
     newTrip = null;
 }