He could also have heat exhaustion. The symptoms are very similar to what you described. Being out in the sun for 20 mins can be all it takes for some kids. Have you tried giving him sips of water every 10-15 mins? Or even something like powerade/gatorade? It could also be that he is coming down with a bug of some type as the others have mentioned.

Hope your little guy is feeling better real soon