需求分析
在o2o项目中,经常要用到在用户下单时判断用户所填地址的坐标点是否在服务范围内的情况,这里参考网上的实现方式,用C#来实现,经测试后有效,特此记录。
代码
1 | public class MapHelper |
测试
这里我用高德地图标出了北京五环范围的坐标点集合,然后随意选择一个坐标点来进行判断:
坐标点可以用这个工具来获取:高德地图API
五环范围:
- 香泉桥 116.222208,39.992436
- 箭亭桥 116.327147,40.02046
- 上清桥 116.353948,40.02299
- 顾家庄桥 116.44128,40.020526
- 东北五环 116.48441,40.013624
- 平房桥 116.541101,39.942393
- 东南五环 116.549202,39.851595
- 旧宫新桥 116.43082,39.785968
- 狼垈东桥 116.296044,39.777442
- 宛平桥 116.225062,39.845517
- 衙门口桥 116.211308,39.894396
- 西五环 116.212595,39.944705
随机坐标:
- 林萃桥地铁站 116.37297,40.021857
- 望京西园四区 116.47086,39.99648
- 观音禅寺 116.533811,39.880533
- 俏狐国际 116.299713,39.772619
- 芳园里小区 116.416336,39.78394
- 润枫锦尚小区 116.429039,39.790535
1 | class Program |
总结
- 北京的五环范围毕竟不是一个规则的多边形,可以尽量选择有标志性的坐标点来规范多边形
- 参考自:百度地图——判断用户是否在配送范围内解决方案 - aheizi - 博客园