Привет, у меня проблемы с выводом FeatureCollection в PHP.
Справочная информация:
У меня есть сервер MySQL, который состоит из таблицы геолокации, в которой есть имя пользователя, долгота и широта пользователей.В настоящее время есть 3 записи с уникальным именем пользователя, которые я намерен использовать в качестве MapID.Так что моя таблица выглядит примерно так
username |долгота |широта
sy456 |45.78888 |5822,35
s744 |85,6632 |47,52366
S69995 |456789.23 |4572.332
Вот мой код
<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');
header("Content-Type: application/json; charset=UTF-8");
error_reporting(E_ALL);
include('global.php');
$connection = new mysqli(dbhost, dbuser, dbpassword, dbname);
$query = "SELECT longitude, latitude from geolocation";
$result = $connection -> query($query);
while($rs1 = $result->fetch_array(MYSQLI_ASSOC)) {
$long = $rs1['longitude'];
$latitude = $rs1['latitude'];
$geometry_array = array(
"type" => "Point",
"coordinates" => array ($long,$latitude)
);
$data = (array(
'geometry'=>$geometry_array,
'type' =>"Feature",
"properties" =>"{}"
));
$output = (array(
'type' => "FeatureCollection",
'features' => array($data)));
}
echo json_encode($output);
$connection->close(); //Closing SQL connection
?>
Приведенный выше скрипт PHP извлекает записи долготы и широты, но я не знаю, как правильно вывести его в формате FeatureCollection, отображающем все записи геолокации (3).Я попытался использовать цикл For в WHILE (FETCH_ASSOC), но он не работает (он показывает только последнюю запись ...), как показано на следующем рисунке.
вывод JSON