/**
  * 根据ACC状态处理经纬度坐标, 防止停车坐标偏移
  *
  * @param dataMap
  * @param vid
  * @param commandType 缓存车辆经纬度坐标,当ACC总电源关闭时,就取上一次的经纬度, 防止停车坐标偏移。
  */
 private void processCoordinatesByACC(VehicleMessageBean vehicleMessage, String vid) {
   String tempStatus = vehicleMessage.getBaseStatus(); // 获取基础状态位
   Coordinates coordinates = null;
   if (tempStatus != null) {
     coordinates = Cache.getTrackCoordinates(vid); // 获取轨迹坐标缓存
     String binarystatus = Long.toBinaryString(Long.parseLong(tempStatus));
     if (binarystatus.endsWith("0")) { // 判断ACC关
       // 取上一次车辆经纬度 - 缓存为空就缓存当前经纬度,不为空就替换数据包中的经纬度
       if (coordinates == null) {
         long lon = vehicleMessage.getLon();
         long lat = vehicleMessage.getLat();
         long maplon = vehicleMessage.getMaplon();
         long maplat = vehicleMessage.getMaplat();
         coordinates = new Coordinates();
         coordinates.setLon(lon);
         coordinates.setLat(lat);
         coordinates.setMaplon(maplon);
         coordinates.setMaplat(maplat);
         Cache.setTrackCoordinates(vid, coordinates);
       } else {
         vehicleMessage.setLat(coordinates.getLat());
         vehicleMessage.setLon(coordinates.getLon());
         vehicleMessage.setMaplat(coordinates.getMaplat());
         vehicleMessage.setMaplon(coordinates.getMaplon());
       }
     } else {
       // 缓存车辆经纬度 - 缓存为空就创建新坐标对象缓存,不为空就替换原经纬度
       if (coordinates != null) {
         Cache.removeTrackCoordinates(vid);
       }
     }
   }
 }