Я получаю два значения (широта, долгота) через API с запросом cURL. Мой запрос выглядит следующим образом:
function APIcall($method, $url, $data){
$curl = curl_init();
switch ($method){
case "POST":
curl_setopt($curl, CURLOPT_POST, 1);
if ($data)
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
break;
case "PUT":
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "PUT");
if ($data)
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
break;
default:
if ($data)
$url = sprintf("%s?%s", $url, http_build_query($data));
}
// OPTIONS:
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'APIKEY: example-key-here',
'Content-Type: application/json',
));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
// EXECUTE:
$result = curl_exec($curl);
if(!$result){die("Connection Failure");}
curl_close($curl);
return $result;
}
$get_data = APIcall('GET',
'https://api.wheretheiss.at/v1/satellites/25544', false);
$response = json_decode($get_data, true);
Этот вызов находится в отдельном файле apicall.php
в моей корневой папке, который я затем могу эффективно указать там, где он мне нужен. Когда я это делаю, я использую значения, данные мне в переменной $response
, чтобы отобразить значение широты и долготы, что мне и нужно:
echo $response['latitude'];
echo $response['longitude'];
Я делаю это внутритег script моей карты Leaflet.js для размещения на нем маркера в координатах, которые предоставляет API:
mymap.setView([<?php echo $response['latitude']; ?>, <?php echo $response['longitude']; ?>], mymap.getZoom());
marker.setLatLng([<?php echo $response['latitude']; ?>, <?php echo $response['longitude']; ?>]);
. Здесь возникает моя проблема. Мой код выше, размещает маркер только один раз, так как вызов производится только один раз (конечно). Как мне делать больше звонков через определенный промежуток времени без перезагрузки всей моей страницы?