|
Как из php файла передать данные в переменную javascript
Через API получаю данные от стороннего сервиса. Структура ответа:
[ {
...
“Latitude”: “<Широта>”,
“Longitude”: “<Долгота>”,
...
} ]
С помощью php файла getdata.php прохожу по массиву и собираю все данные
foreach ($response as $item) {
$a = "[".$item['Latitude'].",".$item['Longitude']."]," ;
$array = $array.$a ;
}
$list= substr($array, 0, -1);
echo json_encode($list);
Это список точек, который я хочу отобразить на карте с помощью Яндекс.Карты API.
var myMap = new ymaps.Map('map', {
...
points = [
[55.831903,37.411961], [55.763338,37.565466]
],
}
Как мне передать данные переменной $list в points? Вопрос по корректности кода в php? Он вроде выводит верные данные, но нужно ли делать json_encode и можно ли заменить substr($array, 0, -1); на что-то внутри foreach? |
$array не должен быть строкой, похожей на массив, сделайте переменную полноценным массивом, в строку JSON ее превратит json_encode
|
Можно пример как мне сделать массив из Latitude и Longitude в таком виде [55.831903,37.411961] ?
|
например, так:
$array = [];
foreach ($response as $i){
$arr = [$item['Latitude'],$item['Longitude']];
array_push($array,$arr);
}
echo json_encode($array);
|
foreach ($response as $item) в данном случае вообще некчемная операция. Если $response, это массив, вложения которого массивы хранящие значения координат, то вместо всего написанного достаточно json_encode($response).
|
структура ответа больше:
[
{
“Id“: “<Id>”,
“OwnerId”: ”<Owner_id>”,
“CitiId”: “<Id города >”,
“Number”: ”<номер >”,
“Address”: ”<адрес >”,
“Latitude”: “<Широта>”,
“Longitude”: “<Долгота>”,
}
]
и еще более 20 полей. Можно тут обойтись без foreach ($response as $item) ? |
Цитата:
|
Ошибка syntax error, unexpected '[' в строке
$array = []; |
Цитата:
|
laimas,
ну не хочет человек передавать 20 лишних параметров клиенту) |
| Часовой пояс GMT +3, время: 06:36. |
|