菩提本无树 明镜亦非台 本来无一物 何处惹尘埃
高仿安居客画圈找房
- 画一个圈
- 筛选数据
画一个圈
仔细观察安居客选择画圈找房和画完圈之后的页面
观察安居客的页面发现:当我使用画圈找房功能的时候,地图缩放等级改变,地图展示区域出现一个方框;随意画一个圈发现方框消失,画圈内颜色填充,展示区域内的搜索结果;
猜想画圈
当我调用画圈找房功能后,有一个涂鸦View盖在了地图的上边,我们在涂鸦View上画图时记录经过的坐标,查询百度地图的开发文档发现可以将视图坐标转换为地图经纬度坐标,有了地图经纬度坐标集合,我们可以给地图添加一个overlayer。在地图上画一个圈的功能完成
如何只展示区域内的元素
抓包查看安居客的数据发现:当我的圈内只展示三个元素的时候,接口返回的并非只有三个元素;
猜想展示数据
我们可以把当前地图的经纬度范围发送给后台服务器,后台服务器将我们当前地图展示页面的所有数据都给我们返回回来,由我们去判断这些数据的经纬度是否在我们的圈内;
大概思路就是这样。哈哈哈哈
自己写的一个demo 运行项目之前 先pod安装一下百度地图SDK