Оставлю здесь свой вариант:
Запись новых координат в базу, если изменились в результате движения. Запись в базу если координаты не изменились, но изменился заряд батареи треккера.
изменить файл /modules/livegpstracks/livegpstracks.class.php
изменить содержимое функции function readData()
на
function readData() {
$this->getConfig();
$table='lgps_in';
$properties=SQLSelect("SELECT * FROM $table;");
foreach ($properties as $did)
{
$num=$did['DID'];
$title=$did['TITLE'];
//$urls[] = ['url' => 'http://livegpstracks.com/viewer_coos_s.php?code='.$num];
$urls[] = ['url' => 'http://livegpstracks.com/viewer_coos_s.php?code='.$num,'name'=>$title,'numer'=>$num];
}
foreach ($urls as $url1) {
//echo $url1['url'];
$title=$url1['name'];
$numer=$url1['numer'];
$content=getURL($url1['url'], 0);
$data=json_decode($content,true);
//$objn=$data[0]['id'];
$objn=$data[0]['code'];
//echo $objn.'----------------';
if ($objn<>'') {
addClassObject('livegpstracks',$objn);
$src=$data[0];
$lud=gg($objn.'.d'); $lut=gg($objn.'.d');
$curlat=gg($objn.'.lat');
$curlng=gg($objn.'.lng');
$curbat=gg($objn.'.perbattery');
$newlat=$data[0]['lat'];
$newlng=$data[0]['lng'];
$newbat=$data[0]['perbattery'];
$newspd=$data[0]['speed'];
if (($curbat<>$newbat)||((($curlat<>$newlat)||($curlng<>$newlng))&&($newspd<>0)))
{
sg( $objn.'.json',$content);
sg( $objn.'.link','https://livegpstracks.com/dv_'.$objn.'.html');
sg( $objn.'.title',$title);
foreach ($src as $key=> $value ) {
sg( $objn.'.'.$key,$value);
//echo $key;
$upd = false;
}
$rec=SQLSelectOne("SELECT * FROM lgps_in WHERE DID='".$numer."'");
//$rec['VALUE'] = 'ok';
$smadr=$this->getaddrfromcoord(gg($objn.'.lat'),gg($objn.'.lng'));
//$smadr='улица';
//$smadr=$this->ga('56.836498','60.691435' );
$rec['VALUE'] = gg($objn.'.lat').','.gg($objn.'.lng') ;
$rec['COORD'] = gg($objn.'.lat').','.gg($objn.'.lng') ;
//$rec['VALUE'] = $smadr ;
$rec['GPSLBS'] =gg($objn.'.gpslbs');
if (gg($objn.'.battery')<>"" ) {$rec['BATTERY'] =gg($objn.'.battery'); }
if (gg($objn.'.perbattery')<>"" ) {$rec['BATTERY'] =gg($objn.'.perbattery'); }
$rec['TEMP'] =gg($objn.'.temper');
$rec['DEVICE'] =gg($objn.'.device');
$rec['UPDATED'] = date('Y-m-d H:i:s');
SQLUpdate('lgps_in', $rec);
//if ($lud<> gg($objn.'.d') and ($lut<> gg($objn.'.t'))) {
$url = BASE_URL . '/gps.php?latitude=' . gg($objn.'.lat')
. '&longitude=' . gg($objn.'.lng')
. '&altitude=' . gg($objn.'.altitude')
. '&accuracy=' . gg($objn.'.gpsaccuracy')
. '&provider=' . gg($objn.'.cellid')
. '&speed=' .gg($objn.'.speed')
. '&battlevel=' . gg($objn.'.battery')
. '&charging=' . gg($objn.'.charging')
. '&deviceid=' . $objn ;
getURL($url, 0);
//$adr=getaddrfromcoord(gg($objn.'.lat'),gg($objn.'.lng'));
sg($objn.'.address', $adr);
//$spl=split(',',$adr) ;
$spl=explode(',',$adr) ;
sg($objn.'.short_address', $spl[0]);
sg($objn.'.gpsupdate', 'updated');
//}
//else {sg($objn.'.gpsupdate', 'no need'); }
}
}
}
}
Пожалуйста, войдите в систему, чтобы добавлять комментарии Присоединиться!