Как сделать правильный массив для листьев в реальном времени в JSON - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь нас в leaflet.js в режиме реального времени.У меня это работает, когда я кодирую координаты, как показано ниже.Я прочитал инструкцию, и он не определяет, как он хочет данные, но нашел это в образце.Как мне закодировать его, чтобы распечатать как надо, и можно ли включить более одного набора координат?

Любая помощь будет отличной, спасибо.

мой php

$lat = "52.45238209999999";
$lng = "-1.743507099999988";

$str = "{".chr(34)."geometry".chr(34).": {".chr(34)."type".chr(34).": ".chr(34)."Point".chr(34).", ".chr(34)."coordinates".chr(34).": [".$lng.", ".$lat."]}, ".chr(34)."type".chr(34).": ".chr(34)."Feature".chr(34).", ".chr(34)."properties".chr(34).": {}}";

echo $str;

и вот так должен выглядеть конец в соответствии с образцом.

{"geometry": {"type": "Point", 
              "coordinates": [-104.53702657476524, 1.4311558884747997]
             }, 
              "type": "Feature", 
              "properties": {}
            }

1 Ответ

0 голосов
/ 19 ноября 2018

Чтобы получить результат после, это случай создания многомерного массива с правильной структурой, чтобы вы могли json_encode() it.

$lat = "52.45238209999999";
$lng = "-1.743507099999988";

$data = ["geometry" => ["type" => "Point",
    "coordinates" => [(float)$lng, (float)$lat]],
    "type" => "Feature",
    "properties" => (object)[]
];

echo json_encode($data, JSON_PRETTY_PRINT);

дает ...

{
    "geometry": {
        "type": "Point",
        "coordinates": [
            -1.743507099999988, 52.45238209999999
        ]
    },
    "type": "Feature",
    "properties": {}
}
...