最近在做一个基于物联网的技术的智能停车平台,Android端+pc端,手机端是Android开发的一套+高德地图SDK+高德导航SDK,pc端是Linux+Django+Mysql+Apache+(Html、Css+Div),今天想记录一下实时获取停车场车位数据以及在地图上为停车场添加注标。
目前项目面向的用户是兰州市的用户,整个兰州市的停车场也就是差不多有200多个,数据量不大,需要在地图上为兰州市的所有停车场都加上标注,并且标注分为三种:当前有空闲车位的停车场标注为绿色,没有车位的停车场标注为红色,没有联网的停车场标注为蓝色。
第一种做法:
轮询请求服务器,每次请求都把兰州市所有停车场的信息:经纬度、编号、名字、总车位、剩余车位请求下来,然后根据每个停车场当时的联网状况以及剩余车位状况在地图上添加标注。
这种做法很粗暴,很省事,但是可用性太差,非常消耗手机资源(电能、数据流量、内存),如果停车场数据暴增,将会出现客户端卡死现象。这种做法立马就被淘汰了。
第二种做法:
打开App,进入地图界面,获取当前地图可视区域的中心点位置的经纬度,获取当前地图的缩放级别,然后把当前经度longitude、纬度latitude、半径radius(这个半径是根据当前地图的缩放级别来给出的,比如地图的缩放级别是15,就把radius的值设为2000米,当然需要根据具体情况来确定)post给服务器,服务器根据传过来的三个参数,计算以当前经纬度为圆心,以radius为半径的圆中包含那些停车场,然后把在