Вместо(или вместе с) времени отсутствия можно показывать текстовое наименование места где находится человек.
Делаем так:
1. понадобится функция декодирующая ГПС координаты в текст. Например используя яндекс. Создаем файл, например myfunction.php в каталоге LIB с текстом:
Код: Выделить всё
function Getgeocode($lon, $lat) {
$data_file="http://geocode-maps.yandex.ru/1.x/?geocode=E".$lon.",N".$lat; // адрес xml файла
$xml = simplexml_load_file($data_file); // раскладываем xml на массив
$res=$xml->{'GeoObjectCollection'}->{'featureMember'}[0]->{'GeoObject'}->{'metaDataProperty'}->{'GeocoderMetaData'}->{'AddressDetails'}->{'Country'}->{'AddressLine'};
return $res;
}
2. У класса Users создаем метод:
SetLocation
Код: Выделить всё
$Coordinates=$this->getProperty("Coordinates");
$lat=substr($Coordinates,0,strpos($Coordinates,","));
$lon=substr($Coordinates,strpos($Coordinates,",")+1);
$this->setProperty("Location",Getgeocode($lon,$lat));
у меня запуск этого метода настроен на изменение поля Coordinates, но можно повесить и на таймер, например раз в 30 минут, что бы не грузить яндекс лишними запросами.
3. Все. Теперь можем использовать поле Location, например на тех же сценах на картинках с юзерами.