//lexical_cast doesn't work, so we're using stringstream
std::stringstreams;
s<<"geo:";
s.precision(15);//can't use std::numeric_limits<double>::max_digits10 because that's c++ 0x, it should be 17, but that seems to cause rounding problems... no idea why.
s<<lat<<",";
s.precision(15);//Needed to get the right precision somehow...