Joywork/cron/updateMetersInObjects.php
2026-05-22 21:21:54 +03:00

99 lines
3.3 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
set_time_limit(0);
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
ini_set('display_errors', 1);
error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE);
//1107264 - last
$sql3="SELECT objects.id, objects.adres, objects.dom, objects.korpus, objects.litera
FROM objects
WHERE objects.black <> 1
AND objects.moder <> 1
AND objects.peshkom = 0
AND objects.transport = 0 AND objects.id > 16405697 and objects.adres != '' ORDER BY `id` ASC LIMIT 100";
$rez_obj=mysql_query($sql3);
while($obj = mysql_fetch_assoc($rez_obj)) {
sleep(2);
echo "ИД=".$obj['id'];
$mtr = "";
$sql = "SELECT metro.metro FROM metro, sp_metro
WHERE sp_metro.id_metro = metro.id AND sp_metro.id_obj = $obj[id]";
$result = mysql_query($sql);
$m = mysql_fetch_row($result);
$mtr = $m[0];
$params = array();
$params['sensor'] = false; // указывает, исходит ли запрос на геокодирование от устройства с датчиком
$params['key'] = "AIzaSyAF__rEA5GbpgJ5CMKC2J4WK8SGmBq1588"; // указывает, исходит ли запрос на геокодирование от устройства с датчиком
$params['language'] = "ru";// язык данных
$params['mode'] = "walking";// идем пешком, может быть driving, walking, bicycling
// адрес или координаты отправных пунктов
$address = $obj['adres'];
if ($obj['dom']) {
$address = $address . ", " . $obj['dom'];
}
if ($obj['korpus']) {
$address = $address . ", корпус " . $obj['korpus'];
}
if ($obj['litera']) {
$address = $address . ", литера" . $obj['litera'];
}
$params['origins'] = "Россия, Санкт-Петербург, ".$address;
//echo $params['origins']."<br>";
// адрес или координаты пунктов назначения
$params['destinations'] = "Россия, Санкт-Петербург, станция метро ".$mtr;
//echo $params['destinations']."<br>";
$params = http_build_query($params);
$url = "https://maps.googleapis.com/maps/api/distancematrix/json?" . $params;
//echo $url;
$json = file_get_contents($url);
//echo $json;
$json = json_decode($json, true);
$meters = 0;
$peshkom = 0;
$transport = 0;
if ($json['status'] == "OK" && $json['rows'] && $json['rows'][0] && $json['rows'][0]['elements'] && $json['rows'][0]['elements'][0] && $json['rows'][0]['elements'][0]['status'] == "OK") {
$meters = $json['rows'][0]['elements'][0]['distance']['value'];
} else {
echo $json['status'];
echo '<br>';
continue;
}
if ($meters > 0) {
if ($meters <= 100) {
$peshkom = 1;
} else {
if ($meters <= 2000) {
$peshkom = round($meters / 100);
} else {
$transport = round($meters / 1000);
}
}
}
echo " Метры: ".$meters." Пешком: ".$peshkom." Транспортом: ".$transport;
if ($meters > 0) {
$sql = "UPDATE objects SET peshkom='$peshkom', transport='$transport' WHERE id=$obj[id]";
mysql_query($sql);
}
echo '<br>';
}