Пример #1
0
        void 处理矩形圈选(M经纬度 __左上角, M经纬度 __右下角)
        {
            if (_圈选测试数据.Count == 0)
            {
                return;
            }
            var __圈选数量 = 0;
            var __矩形点集 = new List <M经纬度>
            {
                __左上角,
                __左上角.偏移(__右下角.经度 - __左上角.经度, 0),
                __右下角,
                __右下角.偏移(__左上角.经度 - __右下角.经度, 0),
            };

            _圈选测试数据.ForEach(q =>
            {
                if (H地图算法.判断点在矩形内(_IF地图.纠偏(q), __矩形点集))
                {
                    __圈选数量++;
                }
            });
            MessageBox.Show("圈选数量: " + __圈选数量);
            //_IF地图.添加矩形(__左上角, __右下角, new M区域绘制参数 { 边框宽度 = 1, 边框颜色 = Color.Red });
        }
Пример #2
0
        void _IV_矩形圈选结束(M经纬度 __左上角, M经纬度 __右下角)
        {
            var __匹配号码集 = new List <string>();
            var __矩形点集  = new List <M经纬度>
            {
                __左上角,
                __左上角.偏移(__右下角.经度 - __左上角.经度, 0),
                __右下角,
                __右下角.偏移(__左上角.经度 - __右下角.经度, 0),
            };

            m_lock.EnterReadLock();
            foreach (var kv in _当前显示号码集)
            {
                var __号码 = kv.Key;
                var __位置 = kv.Value.位置;
                if (__位置 != null)
                {
                    if (H地图算法.判断点在矩形内(_IF地图.纠偏(__位置), __矩形点集))
                    {
                        __匹配号码集.Add(__号码);
                    }
                }
            }
            m_lock.ExitReadLock();
            if (__匹配号码集.Count > 0)
            {
                _IV.触发圈选结束(__匹配号码集);
            }
        }
Пример #3
0
        void 处理矩形圈选(M经纬度 __左上角, M经纬度 __右下角)
        {
            if (_圈选数据.Count == 0)
            {
                return;
            }
            var __圈选数量 = 0;
            var __矩形点集 = new List <M经纬度>
            {
                __左上角,
                __左上角.偏移(__右下角.经度 - __左上角.经度, 0),
                __右下角,
                __右下角.偏移(__左上角.经度 - __右下角.经度, 0),
            };

            _圈选数据.ForEach(q =>
            {
                if (H地图算法.判断点在矩形内(q, __矩形点集))
                {
                    __圈选数量++;
                }
            });
            new F对话框_确定("圈选数量: " + __圈选数量, "操作成功").ShowDialog();
        }