黄学彪
2020-12-17 9f326f4000847e6167d8166fa2f6a66f53cb3734
ZigbeeApp/Shared/Phone/Device/Logic/AddLogicPage.cs
@@ -338,7 +338,8 @@
            #endregion
            string strname = "";
            //到达地点点击事件
            athomeView.clickviewBtn.MouseUpEventHandler += (sender, e) => {
            athomeView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
            {
                strname = athomeView.titleBtn.Text;
                leaveView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
@@ -347,14 +348,15 @@
                athomeView.selectedIconBtn.Visible = true;
            };
            //离开地点点击事件
            leaveView.clickviewBtn.MouseUpEventHandler += (sender, e) => {
            leaveView.clickviewBtn.MouseUpEventHandler += (sender, e) =>
            {
                strname = leaveView.titleBtn.Text;
                leaveView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                athomeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                leaveView.selectedIconBtn.Visible = true;
                athomeView.selectedIconBtn.Visible = false;
            };
            };
            double latitude = Config.Instance.Home.Latitude;//纬度
            double longitude = Config.Instance.Home.Longitude;//经度
            int r = 500;//半径
@@ -441,15 +443,81 @@
                        LocationConditionsInfo.Remove("AtHome");
                    }
                    LocationConditionsInfo.Add("AtHome", "1");
                }
                //调用方法,跳转页面
                GDMapKit.Show((mLatitude, mLongitude, mRadius, name) =>
                {
                    //截取字符串后第6位;
                    //var len = name.Substring(name.Length - 6, 6);
                    //点击保存按钮,回调当前选择的纬度,经度,半径范围
                }
#if Android
            //申请定位权限
            ((BaseActivity)Application.Activity).SetGPSLocationPermission((result1) =>
            {
                if (result1 == false) { return; }
                //申请允许程序写入外部存储,如SD卡上写文件
                ((BaseActivity)Application.Activity).SetPermission((result2) =>
                {
                    if (result2 == false) { return; }
                     //读取电话状态权限
                     ((BaseActivity)Application.Activity).SetPermission((result3) =>
                     {
                         if (result3 == false) { return; }
                         //调用方法,跳转页面
                         GDMapKit.Show((mLatitude, mLongitude, mRadius, name) =>
                         {
                             //截取字符串后第6位;
                             //var len = name.Substring(name.Length - 6, 6);
                             //点击保存按钮,回调当前选择的纬度,经度,半径范围
                             var latitudW = (int)Math.Truncate(mLatitude * 1000000);
                             var longitudeH = (int)Math.Truncate(mLongitude * 1000000);
                             Dictionary<string, string> accounts = new Dictionary<string, string>();
                             if (accounts.ContainsKey("Account"))
                             {
                                 accounts.Remove("Account");
                             }
                             if (accounts.ContainsKey("Type"))
                             {
                                 accounts.Remove("Type");
                             }
                             if (accounts.ContainsKey("Latitude"))
                             {
                                 accounts.Remove("latitude");
                             }
                             if (accounts.ContainsKey("Longitude"))
                             {
                                 accounts.Remove("Longitude");
                             }
                             if (accounts.ContainsKey("Radius"))
                             {
                                 accounts.Remove("radius");
                             }
                             accounts.Add("Account", Config.Instance.Guid);
                             accounts.Add("Type", "7");
                             accounts.Add("Latitude", latitudW.ToString());
                             accounts.Add("Longitude", longitudeH.ToString());
                             accounts.Add("Radius", mRadius.ToString());
                             LogicIfon.Addaccounts(accounts);
                             LogicIfon.AddLocationconditions(LocationConditionsInfo);
                             var logicCommunalPage = new LogicCommunalPage();
                             UserView.HomePage.Instance.AddChidren(logicCommunalPage);
                             UserView.HomePage.Instance.PageIndex += 1;
                             logicCommunalPage.Show(() => { });
                         }, strname, Language.StringByID(R.MyInternationalizationString.uSave), true, latitude, longitude, r);
                     }, "android.permission.READ_PHONE_STATE");
                }, "android.permission.WRITE_EXTERNAL_STORAGE");
            });
#endif
#if iOS
                //调用方法,跳转页面
                GDMapKit.Show((mLatitude, mLongitude, mRadius, name) =>
                {
                    //截取字符串后第6位;
                    //var len = name.Substring(name.Length - 6, 6);
                    //点击保存按钮,回调当前选择的纬度,经度,半径范围
                    var latitudW = (int)Math.Truncate(mLatitude * 1000000);
                    var longitudeH = (int)Math.Truncate(mLongitude * 1000000);
                    Dictionary<string, string> accounts = new Dictionary<string, string>();
@@ -486,7 +554,8 @@
                    UserView.HomePage.Instance.AddChidren(logicCommunalPage);
                    UserView.HomePage.Instance.PageIndex += 1;
                    logicCommunalPage.Show(() => { });
                }, strname, Language.StringByID(R.MyInternationalizationString.uSave), true, latitude, longitude, r);
                }, strname, Language.StringByID(R.MyInternationalizationString.uSave), true, latitude, longitude, r);
#endif
            };
        }