99 lines
3.3 KiB
PHP
99 lines
3.3 KiB
PHP
|
|
<?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>';
|
|||
|
|
}
|