Я пытаюсь получить значение максимальной скорости дороги от сервера OSM после отправки координат широты и долготы. Я выполнил код, но, похоже, возникла проблема с их загрузкой. Я не понимаю, в чем проблема. Ниже приведен код php:
<?php
//$lat = isset($_GET['lat']) ? floatval($_GET['lat']) : "";
//$lng = isset($_GET['lng']) ? floatval($_GET['lng']) : "";
$lat = 24.192163;
$lng = 55.649185;
$latm = -0.00015 + $lat;
//$latm = 24.229544; //s
echo $latm. "\n";
$lngm = -0.00015 + $lng;
//$lngm = 55.775513; //w
echo $lngm. "\n";
$latp = 0.00015 + $lat;
//$latp = 24.229844; //n
echo $latp. "\n";
$lngp = 0.00015 + $lng;
//$lngp = 55.775813; //e
echo $lngp;
$json_url = 'http://overpass.osm.rambler.ru/cgi/interpreter';
$data = '<query type="way"> <bbox-query s="' . $latm . '" w="' . $lngm . '" n="' . $latp . '" e="' . $lngp . '"/> <!--this is auto-completed with the current map view coordinates.--> </query> <print/>';
$ch = curl_init( $json_url );
$options = array(
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => array('Content-type: application/json'),
CURLOPT_POSTFIELDS => $data,
CURLOPT_RETURNTRANSFER => true,
);
curl_setopt_array($ch, $options);
$result = curl_exec($ch);
$xml = simplexml_load_string($result);
foreach ($xml->way as $i) {
foreach ($i->tag as $tag) {
if ($tag['k'] == "maxspeed") {
$maxspeed = $tag['v'];
break;
}
}
}
$response["speedlimit"] = "$maxspeed";
echo json_encode($response);
?>
В целях тестирования я уже установил координаты $ lat и $ lng определенной области, чтобы получить ограничение скорости. Но это не работает.
Я надеюсь, что кто-то может направить меня в правильном направлении. Большое спасибо…
Задача ещё не решена.
Других решений пока нет …