| | |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 地理围栏View |
| | | /// 添加地理围栏 |
| | | /// </summary> |
| | | /// <param name="flMain">Fl main.</param> |
| | | /// <param name="edit">If set to <c>true</c> edit.</param> |
| | |
| | | ///通过调试宝给的经纬度<标准GPS> |
| | | double latitude = Entity.DB_ResidenceData.Instance.CurrentRegion.latitude;//纬度 |
| | | double longitude = Entity.DB_ResidenceData.Instance.CurrentRegion.longitude;//经度 |
| | | //WGS84坐标转高德坐标 |
| | | LogicMethod.CurrLogicMethod.WGS84_to_GCJ02(Entity.DB_ResidenceData.Instance.CurrentRegion.longitude, Entity.DB_ResidenceData.Instance.CurrentRegion.latitude, out longitude, out latitude); |
| | | int r = 500;//半径 |
| | | int r = 500;//默认半径 |
| | | if (edit) |
| | | { |
| | | for (var i = 0; i < Logic.currlogic.input.Count; i++) |
| | |
| | | strname = Language.StringByID(StringId.likai); |
| | | } |
| | | //再一次编辑地理围栏<控件暂时不支持显示记录上一次的状态> |
| | | //if (!string.IsNullOrEmpty(input.geo_fence.latitude) && !string.IsNullOrEmpty(input.geo_fence.longitude)) |
| | | //{ |
| | | if (!string.IsNullOrEmpty(input.geo_fence.latitude) && !string.IsNullOrEmpty(input.geo_fence.longitude)) |
| | | { |
| | | // //纬度 |
| | | // var latitude1 = Convert.ToDouble(input.geo_fence.latitude); |
| | | // //经度 |
| | | // var longitude1 = Convert.ToDouble(input.geo_fence.longitude); |
| | | // //半径 |
| | | // r = int.Parse(input.geo_fence.radius); |
| | | // //WGS84坐标转高德坐标 |
| | | //半径 |
| | | r = int.Parse(input.geo_fence.radius); |
| | | //WGS84坐标转高德坐标 |
| | | // LogicMethod.CurrLogicMethod.WGS84_to_GCJ02(longitude1, latitude1, out longitude, out latitude); |
| | | //} |
| | | } |
| | | } |
| | | } |
| | | PublicInterface publicInterface = new PublicInterface(); |
| | |
| | | ((BaseActivity)Application.Activity).SetPermission((result3) => |
| | | { |
| | | if (result3 == false) { return; } |
| | | //调用方法,跳转页面 |
| | | Location(valueStr, strname, latitude, longitude, r); |
| | | }, "android.permission.READ_PHONE_STATE"); |
| | | |
| | | }, "android.permission.WRITE_EXTERNAL_STORAGE"); |
| | | }); |
| | | #endif |
| | | #if __IOS__ |
| | | //调用方法,跳转页面 |
| | | Location(valueStr, strname, latitude, longitude, r); |
| | | #endif |
| | | }); |
| | | |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 地理围栏View |
| | | /// </summary> |
| | | /// <param name="valueStr">进入(arrive)或者离开(leave)</param> |
| | | /// <param name="strname"></param> |
| | | /// <param name="latitude">纬度</param> |
| | | /// <param name="longitude">经度</param> |
| | | /// <param name="r">半径(默认500米)</param> |
| | | private void Location(string valueStr, string strname, double latitude, double longitude, int r) |
| | | { |
| | | if (r == 0) |
| | | { |
| | | //按道理说不会出现 |
| | | r = 500; |
| | | } |
| | | //调用方法,跳转页面 |
| | | GDMapKit.Show((mLatitude, mLongitude, mRadius, name) => |
| | | { |
| | |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | |
| | | }, strname, Language.StringByID(StringId.save), true, latitude, longitude, r); |
| | | |
| | | }, "android.permission.READ_PHONE_STATE"); |
| | | |
| | | }, "android.permission.WRITE_EXTERNAL_STORAGE"); |
| | | }); |
| | | #endif |
| | | #if __IOS__ |
| | | //调用方法,跳转页面 |
| | | GDMapKit.Show((mLatitude, mLongitude, mRadius, name) => |
| | | { |
| | | //高德坐标转WGS84坐标(高德地图设置GPS) |
| | | double out_lng, out_lat; |
| | | LogicMethod.CurrLogicMethod.GCJ02_to_WGS84(mLongitude, mLatitude, out out_lng, out out_lat); |
| | | |
| | | Input input = new Input(); |
| | | input.sid = LogicMethod.CurrLogicMethod.NewSid(); |
| | | input.condition_type = "8"; |
| | | Dictionary<string, string> dic = new Dictionary<string, string>(); |
| | | LogicMethod.CurrLogicMethod.dictionary(dic, "key", "direction"); |
| | | LogicMethod.CurrLogicMethod.dictionary(dic, "comparator", "="); |
| | | LogicMethod.CurrLogicMethod.dictionary(dic, "data_type", "string"); |
| | | LogicMethod.CurrLogicMethod.dictionary(dic, "value", "arrive"); |
| | | input.condition.Add(dic); |
| | | //纬度 |
| | | input.geo_fence.latitude = out_lat.ToString(); |
| | | //经度 |
| | | input.geo_fence.longitude = out_lng.ToString(); |
| | | //半径<单位米> |
| | | input.geo_fence.radius = mRadius.ToString(); |
| | | AddCondition(input); |
| | | LogicMethod.CurrLogicMethod.RemoveAllView(); |
| | | AddLogic addLogic = new AddLogic(); |
| | | MainPage.BasePageView.AddChidren(addLogic); |
| | | addLogic.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }, strname, Language.StringByID(StringId.save), true, latitude, longitude, r); |
| | | #endif |
| | | }); |
| | | |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 添加条件 |
| | | /// </summary> |